All right, there are many discussion about LinkedList and ArrayList, but I still feel confused when I saw this description in 《Thinking in Java》 :
The LinkedList also implements the basic List interface like ArrayList does, but it performs certain operations (insertion and removal in the middle of the List) more efficiently than does ArrayList.
I don't know why it emphasizes “in the middle of the List”, I think when insertion in the beginning of the List, ArrayList also need to transfer the back elements, and it faster than LinkedList?