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());
}
} |
Output:
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());
}
} |
Output:
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–