要实现ArrayList
ArrayList originalList = new ArrayList<>();
// 添加原始ArrayList的元素
originalList.add(1);
originalList.add(2);
originalList.add(3);
// 创建新的ArrayList对象
ArrayList clonedList = new ArrayList<>(originalList);
ArrayList originalList = new ArrayList<>();
// 添加原始ArrayList的元素
originalList.add(1);
originalList.add(2);
originalList.add(3);
// 创建新的ArrayList对象
ArrayList clonedList = new ArrayList<>(originalList.size());
// 使用Collections类的copy()方法进行深拷贝
Collections.copy(clonedList, originalList);
请注意,以上方法都是针对ArrayList中存储的整数对象进行深拷贝。如果ArrayList存储的是自定义的对象,需要确保该对象实现了Cloneable接口,并重写了clone()方法。在这种情况下,可以使用clone()方法来实现深拷贝。
class CustomObject implements Cloneable {
private int value;
public CustomObject(int value) {
this.value = value;
}
public int getValue() {
return value;
}
public void setValue(int value) {
this.value = value;
}
@Override
protected Object clone() throws CloneNotSupportedException {
return super.clone();
}
}
ArrayList originalList = new ArrayList<>();
// 添加原始ArrayList的元素
originalList.add(new CustomObject(1));
originalList.add(new CustomObject(2));
originalList.add(new CustomObject(3));
// 创建新的ArrayList对象
ArrayList clonedList = new ArrayList<>();
// 遍历原始ArrayList的元素,并使用clone()方法进行深拷贝
for (CustomObject obj : originalList) {
clonedList.add((CustomObject) obj.clone());
}