LinkedList vs ArrayList

来源:互联网 发布:java web 视频播放 编辑:程序博客网 时间:2024/05/17 22:58

LinkedList  andArrayList  bothimplement 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 ArrayListwith  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 ofLinkedList  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 deletiondriver 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 anon-synchronized  index based access. ArrayList is fast and easyto  use, just try to minimize array resizing by constructing arraylist with proper  initial size.
原创粉丝点击