jdk源码——集合(TreeSet)

TreeSet集合,也没啥分析的,底层是一个TreeMap集合,TreeSet的方法,也都是调用TreeMap的方法。

——TreeSet集合的成员变量

    private transient NavigableMap m;//底层是一个Map,TreeMap就是NavigableMap的一个实现类,
    // Dummy value to associate with an Object in the backing Map
    private static final Object PRESENT = new Object();//Map集合是key-value,set集合使用默认的Objcet对象充当value值

——TreeSet集合的构造方法

    /*
     * 构造方法
     */
    TreeSet(NavigableMap m) {
        this.m = m;
    }
    
    /*
    无参数构造方法,
     */
    public TreeSet() {
        this(new TreeMap());//调用的是TreeSet(NavigableMap m)构造方法
    }

    public TreeSet(Comparator comparator) {
        this(new TreeMap<>(comparator));
    }
    
    public TreeSet(Collection c) {
        this();//调用的是TreeSet()
        addAll(c);
    }
    
    public TreeSet(SortedSet s) {
        this(s.comparator());//调用的是TreeSet(Comparator comparator)
        addAll(s);
    }

    ——TreeSet集合的普通方法

      自己去看api吧。

       嗯,这一篇分析完了,嗯!

你可能感兴趣的:(jdk源码——集合(TreeSet))