The clone() method of CopyOnWriteArrayList returns a shallow copy of the list. The shallow copy contains exactly the same elements at the same index.
Syntax:
public Object clone()
Parameters: The function does not accept any parameters.
Return Value: The function returns a clone of the list.
Below programs illustrate the above function:
Program 1:
// Java Program to illustrate the // CopyOnWriteArrayList clone() method in Java import java.util.concurrent.CopyOnWriteArrayList; import java.util.*; public class GFG { public static void main(String[] args) { // create object of CopyOnWriteArrayList CopyOnWriteArrayList<Integer> ArrLis = new CopyOnWriteArrayList<Integer>(); // Add elements ArrLis.add( 32 ); ArrLis.add( 67 ); ArrLis.add( 98 ); ArrLis.add( 100 ); // print CopyOnWriteArrayList System.out.println( "CopyOnWriteArrayList: " + ArrLis); // clone of the arraylist System.out.println( "CopyOnWriteArrayList: " + ArrLis.clone()); } } |
CopyOnWriteArrayList: [32, 67, 98, 100] CopyOnWriteArrayList: [32, 67, 98, 100]
Program 2:
// Java Program to illustrate the // CopyOnWriteArrayList clone() method in Java import java.util.concurrent.CopyOnWriteArrayList; import java.util.*; public class GFG { public static void main(String[] args) { // create object of CopyOnWriteArrayList CopyOnWriteArrayList<String> ArrLis = new CopyOnWriteArrayList<String>(); // Add elements ArrLis.add( "gopal" ); ArrLis.add( "gfg" ); ArrLis.add( "jgec" ); ArrLis.add( "sudo" ); // print CopyOnWriteArrayList System.out.println( "CopyOnWriteArrayList: " + ArrLis); // clone of the arraylist System.out.println( "CopyOnWriteArrayList: " + ArrLis.clone()); } } |
CopyOnWriteArrayList: [gopal, gfg, jgec, sudo] CopyOnWriteArrayList: [gopal, gfg, jgec, sudo]
Reference: https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CopyOnWriteArrayList.html#clone–