Answer 1 : the array is a primitive data type
Answer 2 : It depends what do you want to do. If you have a lot of insertion to do the List object may be a good idea, the insertion is simple. On the other hand, insertion in an array is a little bit more complicated, you have to manage yourself the insertion.
Answer 3: an array have more than the length member. It has the clone() method. And it inherit all the member and method of the Object class except the clone method.
I hope that the answer is clear enough. If you want more details information take a look at the
java Specification.
Java Specification YLT