Java LinkedList class
- Java
LinkedList class uses doubly linked list to store the elements. It extends
the AbstractList class and implements List and Deque interfaces.
- Java
LinkedList class can contain duplicate elements.
- Java
LinkedList class maintains insertion order.
- Java
LinkedList class is non synchronized.
- In
Java LinkedList class, manipulation is fast because no shifting needs to
be occurred.
- Java
LinkedList class can be used as list, stack or queue.
Java LinkedList Example
1. import java.util.*;
2. public class TestCollection7{
3. public static void main(String args[]){
4.
5. LinkedList<String> al=new LinkedList<String>();
6. al.add("Ravi");
7. al.add("Vijay");
8. al.add("Ravi");
9. al.add("Ajay");
10.
11. Iterator<String> itr=al.iterator();
12. while(itr.hasNext()){
13. System.out.println(itr.next());
14. }
15. }
16. }
Output:Ravi
Vijay
Ravi
Ajay
Difference between
ArrayList and LinkedList
ArrayList and LinkedList both implements List
interface and maintains insertion order. Both are non synchronized classes.
But there are many differences between ArrayList
and LinkedList classes that are given below.
ArrayList
|
LinkedList
|
1)
ArrayList internally uses dynamic array to store the
elements.
|
LinkedList
internally uses doubly linked list to store the elements.
|
2)
Manipulation with ArrayList is slow because it internally
uses array. If any element is removed from the array, all the bits are shifted
in memory.
|
Manipulation
with LinkedList is fasterthan ArrayList because it uses doubly
linked list so no bit shifting is required in memory.
|
3)
ArrayList class can act as a list only because it implements
List only.
|
LinkedList
class can act as a list and queue both because it implements
List and Deque interfaces.
|
4)
ArrayList is better for storing and accessingdata.
|
LinkedList
is better for manipulatingdata.
|
Example of ArrayList and LinkedList in Java
Let's see a simple example where we are using
ArrayList and LinkedList both.
1. import java.util.*;
2. class TestArrayLinked{
3. public static void main(String args[]){
4.
5. List<String> al=new ArrayList<String>();//creating arraylist
6. al.add("Ravi");//adding object in arraylist
7. al.add("Vijay");
8. al.add("Ravi");
9. al.add("Ajay");
10.
11. List<String> al2=new LinkedList<String>();//creating linkedlist
12. al2.add("James");//adding object in linkedlist
13. al2.add("Serena");
14. al2.add("Swati");
15. al2.add("Junaid");
16.
17. System.out.println("arraylist: "+al);
18. System.out.println("linkedlist: "+al2);
19. }
20. }
Output:
arraylist:
[Ravi,Vijay,Ravi,Ajay]
linkedlist:
[James,Serena,Swati,Junaid]
No comments:
Post a Comment