Skip to content
Related Articles

Related Articles

Improve Article

How to clone an ArrayList to another ArrayList in Java?

  • Difficulty Level : Hard
  • Last Updated : 08 Dec, 2020

The clone() method of the ArrayList class is used to clone an ArrayList to another ArrayList in Java as it returns a shallow copy of its caller ArrayList. 

Syntax:

public Object clone();

Return Value: This function returns a copy of the instance of Object.

Below program illustrate the Java.util.ArrayList.clone() method:



Example:

Java




// Java program to clone an ArrayList to another ArrayList
  
import java.util.ArrayList;
public class GFG {
  
    public static void main(String a[])
    {
  
        // create ArrayList
        ArrayList<String> ArrList1
            = new ArrayList<String>();
  
        // Insert elements in ArrayList
        ArrList1.add("Mukul");
        ArrList1.add("Rahul");
        ArrList1.add("Suraj");
        ArrList1.add("Mayank");
  
        // print ArrayList1
        System.out.println("Original ArrayList = "
                           + ArrList1);
  
        // clone ArrayList
        ArrayList ArrList2
            = (ArrayList)ArrList1.clone();
  
        // print ArrayList2
        System.out.println("Clone ArrayList2 = "
                           + ArrList2);
    }
}
Output
Original ArrayList = [Mukul, Rahul, Suraj, Mayank]
Clone ArrayList2 = [Mukul, Rahul, Suraj, Mayank]

Example 2:

Java




// Java code to illustrate clone() method
  
import java.io.*;
import java.util.*;
  
public class ArrayListDemo {
  
    public static void main(String args[])
    {
  
        // Creating an empty ArrayList
        ArrayList<Integer> list = new ArrayList<Integer>();
  
        // Use add() method
        // to add elements in the list
        list.add(16);
        list.add(32);
        list.add(48);
  
        // Displaying the list
        System.out.println("First ArrayList: " + list);
  
        // Creating another linked list and copying
        // creates a shallow copy
        ArrayList<Integer> sec_list
            = (ArrayList<Integer>)list.clone();
  
        sec_list.add(64);
  
        // Displaying the list
        System.out.println("First ArrayList: " + list);
          
        // Displaying the other linked list
        System.out.println("Second ArrayList is: "
                           + sec_list);
    }
}

Output

First ArrayList: [16, 32, 48]
First ArrayList: [16, 32, 48]
Second ArrayList is: [16, 32, 48, 64]

Attention reader! Don’t stop learning now. Get hold of all the important Java Foundation and Collections concepts with the Fundamentals of Java and Java Collections Course at a student-friendly price and become industry ready. To complete your preparation from learning a language to DS Algo and many more,  please refer Complete Interview Preparation Course.




My Personal Notes arrow_drop_up
Recommended Articles
Page :