LinkedList and
ArrayList both
implement List Interface
Difference between LinkedList vs ArrayList
in Java
Main difference between ArrayList and LinkedList is that ArrayList is implemented using re-sizable array while LinkedList is implemented using doubly Linked List.
1) Since Array is an index based data-structure,
searching or getting element from ArrayList
with index is pretty fast,
on the other hand LinkedList doesn't provide random or index based access and you need to iterate over linked list to retrieve any element.
2) Insertions are easy and fast in LinkedList as compared to ArrayList
3) Removal is like insertions better in LinkedList than ArrayList.
4) LinkedList has more memory overhead than ArrayList because in ArrayList each index only holds actual object (data) but in case of
LinkedList each node holds both data and address of next and previous node.
When to use LinkedList and ArrayList in Java
Use LinkedList in Java when
1) Your
application can live without Random access. Because if you need nth element in LinkedList you need to first traverseup to nth element O(n) and than you get data from that node.
2) Your application is more insertion and deletion
driver and you insert or remove more than retrieval. Since insertion or
removal doesn't involve resizing its much faster than ArrayList.
That’s all on
difference between ArrayList and LinkedList in Java. Use ArrayList in Java for all there situation where you need a
non-synchronized index based access. ArrayList is fast and easyto use, just try to minimize array resizing by constructing arraylist with proper initial size.