LinkedList vs ArrayList

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.
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章