Open In App

How to clone an ArrayList to another ArrayList in Java?

Last Updated : 19 Jul, 2022
Improve
Improve
Like Article
Like
Save
Share
Report

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]

Time complexity: O(N) where N is the size of ArrayList

Auxiliary Space: O(N)

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]

Time complexity: O(N) where N is the size of ArrayList

Auxiliary Space: O(N)



Like Article
Suggest improvement
Share your thoughts in the comments

Similar Reads