The main difference between ArrayList and LinkedList is based on different data structures.
ArrayList is a data structure based on dynamic arrays , LinkedList based on the data structure of the linked list , the main differences from time complexity and space complexity are as follows:
1. Complexity of Time
For random access, ArrayList locates element positions quickly through an index, while LinkedList needs to find the elements in the list. So ArrayList faster than LinkedList.
For the Delete insert operation, ArrayList needs to reorder the arrays and reload all the data into a new array when the array is full, LinkedList just add an entry object. So LinkedList faster than ArrayList.
2. Complexity of space
LinkedList requires more memory because the location of each index of ArrayList is the actual data, and each node in LinkedList stores the actual data and the location of the front and back nodes
Reference:
http://pengcqu.iteye.com/blog/502676
Http://www.importnew.com/6629.html
ArrayList and LinkedList differences in Java