📜  Java中的 TreeSet clone() 方法(1)

📅  最后修改于: 2023-12-03 15:01:57.798000             🧑  作者: Mango

Java中的 TreeSet clone() 方法

简介

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中存储的是可变对象,克隆操作不会克隆其中的元素对象,而是复制引用地址,导致克隆对象和原对象中的元素对象指向同一块内存地址。