java

How to Clone or Copy a List in Java

In this tutorial, we are going to see different methods used to clone or copy a list in Java.

  • Using a copy builderc
  • Using addAll() method
  • Using clone() method
  • Using streams in Java 8

 

Method 1: Clone or Copy a List Using a copy builder

Using the ArrayList constructor in Java, a new list can be initialized with elements from another collection.
 

Syntax:
ArrayList liste_clone = new ArrayList(collection c);

‘c’ is the collection containing the elements to add to ‘liste_clone’.
 

 

Example :
import java.util.*; 
  
public class Main 
{ 
    public static void main(String[] args) 
    { 
        // Create a list
        List<String> list = Arrays.asList("A", "B", "C", "D", "E"); 
  
        // Clone the list
        List<String> clone_list = new ArrayList<String>(list); 
  
        System.out.println(clone_list); 
    } 
}

Output:

[A, B, C, D, E]

 

 

Method 2: Clone or Copy a List Using addAll() method

List class has a method called addAll(), which adds all the items in a collection to the list.
 

Syntax:
boolean addAll(Collection c);

‘c’ is the collection containing the elements to add to the list.
 

Example :
import java.util.*; 
  
public class Main
{ 
    public static void main(String[] args) 
    { 
        // Create a list
        List<String> list = Arrays.asList("A", "B", "C", "D", "E"); 

        List<String> clone_list = new ArrayList<String>(); 

        // Clone the list
        clone_list.addAll(list); 

        System.out.println(clone_list); 
    } 
}

Output:

[A, B, C, D, E]

 

 

Method 3: Clone or Copy a List Using clone() method

The clone() method in Java is used to create a new instance of a class of the current object and initialize all of its fields with the contents of the specified object.
 

Syntax:
protected Object clone()

 

Example :
import java.util.*; 
  
public class Main
{ 
    public static void main(String[] args) 
    { 
        // Create a list
        ArrayList<String> list = new ArrayList<String>(); 
        
        // Add values to the ArrayList
        list.add("A");
        list.add("B");
        list.add("C");
        list.add("D");
        list.add("E");

        // Clone the list
        Object clone_list = list.clone();

        System.out.println(clone_list); 
    } 
}

Output:

[A, B, C, D, E]
 

Method 4: Clone or Copy a List Using streams in Java 8

Using the Streams API introduced in JAVA 8, list cloning is possible. The collect() method (with toList() method) is used to clone a list.
 

Syntax:
Stream.collect()

 

Example :
import java.util.*; 
import java.util.stream.Collectors; 
  
public class Main
{ 
    public static void main(String[] args) 
    { 
        // Create a list
        List<String> list = Arrays.asList("A", "B", "C", "D", "E"); 

        // Clone the list
        List<String> clone_list = list.stream().collect(Collectors.toList()); 

        System.out.println(clone_list); 
    } 
}

Output:

[A, B, C, D, E]
mcqMCQPractice competitive and technical Multiple Choice Questions and Answers (MCQs) with simple and logical explanations to prepare for tests and interviews.Read More

Leave a Reply

Your email address will not be published. Required fields are marked *