When To Use LinkedList Over ArrayList In Java?

In this tutorial, we will discuss When To Use LinkedList Over ArrayList In Java? As we know manipulation of elements that is adding and deleting takes constant time in LinkedList so when such operations are frequent then we use LinkedList otherwise we simply use an arraylist for searching as it takes constant for searching.

LinkedList Over ArrayList

LinkedList

LinkedList is the data structure that uses memory more as it has two nodes one to store the data and another node to store the address of the next node so that where ever the second node is stored it can access the second node directly and where ever the second node is stored.

It is not necessary to store all the elements continues on a single place, the elements can be stored at any place in memory only thing required here is the address of the second or preceding node.

As to storage, it uses random memory to store so it can use the memory efficiently. The advantage here is we can directly reach an element we want to access and we can insert an element in between in the complexity of constant as we can assign the address to the previous node and the address of the preceding element to it as simply as this.

So when we are required to do such operations of edit, add, delete, or Manipulate the node in a program we prefer to use LinkedList over arraylist which has the complexity of Quadratic for editing existing elements.

As we can see in the example here

import java.util.*;  
public class ListExample2 {  
public static void main(String[] args) {  
    //LinkedList is better to manipulate data  
    List<String> list=new LinkedList<>();  
    list.add("ankit");  
    list.add("peter");  
    list.add("mayank");  
    System.out.println("After adding: "+list);  
    list.remove("peter");  
    System.out.println("After removing: "+list);  
    list.set(1,"vivek");  
    System.out.println("After changing: "+list);  
}  
}

 

ArrayList

ArrayList is simply a list in the form of an array where we store the elements of the same type on the continuation means the elements are stored in continuous memory locations where access to an element is easier whereas editing it is not that easy.

So searching takes a constant complexity and editing takes quadratic. So let’s understand better with the help of some examples.

import java.util.*;  
public class ListExample {  
public static void main(String[] args) {  
    //ArrayList is better to store and view data  
    List<String> list=new ArrayList<>();  
    list.add("ankit");  
    list.add("Prakhar");  
    list.add("mayank");  
      
    System.out.println("Traversing ArrayList...");  
    for(String s:list){  
        System.out.println(s);  
    }  
}  
}

 

 

Learn More about When To Use LinkedList Over ArrayList In Java? at: Linked list Over Array List

and also visit Java Tutorials  To see the solution of listed problems and learn more atHow To Reverse A String In Python?about different python related problems.

Leave a Comment

%d bloggers like this: