Java中的LinkedList clone()方法
在Java语言中,LinkedList是一种常见的双向链表数据结构。它的clone()方法用于创建一个具有相同元素的新LinkedList对象。这个新对象和原对象的元素顺序相同,但它们是不同的内存地址。
LinkedList clone()方法的定义
LinkedList的clone()方法被定义为public Object clone()。由于所有Java对象都继承自Object类,因此在所有Java对象中都存在这个方法。这个方法返回一个和原对象类型相同的新对象,它和原对象有相同的数据,但是内存地址是不相同的。
实例
下面的代码展示了LinkedList clone()方法的使用:
import java.util.LinkedList;
public class Example {
public static void main(String[] args) {
LinkedList<String> originalList = new LinkedList<String>();
originalList.add("apple");
originalList.add("banana");
originalList.add("cherry");
LinkedList<String> clonedList = (LinkedList<String>) originalList.clone();
System.out.println("Original List: " + originalList);
System.out.println("Cloned List: " + clonedList);
originalList.remove(1);
System.out.println("Original List after removal: " + originalList);
System.out.println("Cloned List after removal: " + clonedList);
}
}
这个程序创建了一个包含三个元素的LinkedList对象originalList。然后它调用clone()方法创建了一个新的LinkedList对象clonedList。接着,它输出了原始的originalList和克隆的clonedList。注意到这两个List是一样的。
接下来,程序从原始的List对象中删除了第二个元素。然后,它输出了原始的originalList和克隆的clonedList。注意到,原始的List对象已经被修改,但克隆的List对象没有被修改。
结论
Java中的LinkedList clone()方法可用于创建一个具有相同元素的新LinkedList对象。这个新对象和原对象的元素顺序相同,但它们是不同的内存地址。当原始的List对象被修改时,克隆的List对象不会被修改。