📅  最后修改于: 2023-12-03 15:01:57.798000             🧑  作者: Mango
TreeSet
类是Java集合框架中的一个实现类,它实现了SortedSet
接口,并且基于红黑树的数据结构来存储元素。clone()
方法是Object
类中的一个方法,被TreeSet
类重写并用于复制一个TreeSet
对象。
public Object clone()
Object
clone()
方法用于创建并返回当前TreeSet
对象的一个副本。副本与原对象相互独立,即对副本的操作不会影响到原对象。
import java.util.TreeSet;
public class Main {
public static void main(String[] args) {
// 创建一个TreeSet对象
TreeSet<Integer> treeSet = new TreeSet<>();
// 添加元素到TreeSet
treeSet.add(3);
treeSet.add(1);
treeSet.add(2);
// 克隆treeSet对象
TreeSet<Integer> clonedTreeSet = (TreeSet<Integer>) treeSet.clone();
// 输出原treeSet和克隆的treeSet
System.out.println("原treeSet: " + treeSet);
System.out.println("克隆的treeSet: " + clonedTreeSet);
}
}
输出结果:
原treeSet: [1, 2, 3]
克隆的treeSet: [1, 2, 3]
clone()
方法返回的是Object
类型,需要进行强制类型转换为TreeSet
类型。TreeSet
对象与原对象共享相同的元素,对克隆对象的任何修改都会影响到原对象。TreeSet
中存储的是可变对象,克隆操作不会克隆其中的元素对象,而是复制引用地址,导致克隆对象和原对象中的元素对象指向同一块内存地址。