Arne said:
clone is a shallow clone not a deep clone so yes.
Arne
Arne:
I know that it says in the docs that ArrayList.clone() is a shallow copy
and that the elements themselves are not copied. Why then does the
following code produce the following results (or have I gone completely
around the bend today?).
import java.util.*;
public class test9 {
public static void main(String[] args) {
ArrayList<Integer> list1 = new ArrayList<Integer>();
list1.add(10);
list1.add(11);
list1.add(12);
ArrayList list2 = (ArrayList)list1.clone();
list1.set(0,20);
list1.add(30);
for (int i=0; i<list1.size(); i++)
System.out.print(list1.get(i)+" ");
System.out.println();
for (int i=0; i<list2.size(); i++)
System.out.print(list2.get(i)+" ");
}
}
C:\Documents and Settings\Knute Johnson>java test9
20 11 12 30
10 11 12