Here, the shallow copy means it creates copy of arraylist object. To learn more on shallow copy, visit Java Shallow Copy.
The syntax of the clone() method is:
arraylist.clone() Here, arraylist is an object of the ArrayList class.
clone() Parameters
The clone() method does not have any parameters.
clone() Return Value
- returns a copy of the
ArrayListobject
Example 1: Make a Copy of ArrayList
import java.util.ArrayList; class Main { public static void main(String[] args){ // create an arraylist ArrayList<Integer> number = new ArrayList<>(); number.add(1); number.add(3); number.add(5); System.out.println("ArrayList: " + number); // create copy of number ArrayList<Integer> cloneNumber = (ArrayList<Integer>)number.clone(); System.out.println("Cloned ArrayList: " + cloneNumber); } } Output
ArrayList: [1, 3, 5] Cloned ArrayList: [1, 3, 5]
In the above example, we have created an arraylist named number. Notice the expression,
(ArrayList<Integer>)number.clone() Here,
- number.clone() - returns a copy of the object number
- (ArrayList<Integer>) - converts value returned by
clone()into an arraylist ofIntegertype (To learn more, visit Java Typecasting)
Example 2: Print the Return Value of clone()
import java.util.ArrayList; class Main { public static void main(String[] args){ // create an arraylist ArrayList<Integer> prime = new ArrayList<>(); prime.add(2); prime.add(3); prime.add(5); System.out.println("Prime Number: " + prime); // print the return value of clone() System.out.println("Return value of clone(): " + prime.clone()); } } Output
Prime Number: [2, 3, 5] Return value of clone(): [2, 3, 5]
In the above example, we have created an arraylist named prime. Here, we have printed the value returned by clone().
Note: The clone() method is not specific to the ArrayList class. Any class that implements the Clonable interface can use the clone() method.