Simple LinkedList implementation
raw types

Try to avoid raw types. private Node fieldname should be private Node&lt;T&gt; fieldname, same for function returns and method arguments.

Bug

If I do this:

MyLinkedList&lt;String&gt; list = new MyLinkedList&lt;&gt;();
list.remove("foo");


I get a NullPointerException. This is because you first access data of the root, and then check what the size is. It should be the other way around (and checking if the root is null would be a bit clearer). 

You also shouldn't set the data to null, you should remove the node, otherwise you have a root node that contains null (also, your list size is wrong from there on out).

It also doesn't make that much sense to first set the data, and then override the node. In that case, just remove the setting of the data.

remove non existing element

If a non existing element is removed, you could throw a NoSuchElementException (it's what Java lists do).

Setting values to null

next = null; this isn't necessary, you are returning right afterwards.

Naming


it is a bit uncommon to start a field name with _.
I would conform to the names of the List interface (getSize -> size, add(array) -> addAll(array).