TreeSet集合,也没啥分析的,底层是一个TreeMap集合,TreeSet的方法,也都是调用TreeMap的方法。
——TreeSet集合的成员变量
private transient NavigableMap<E,Object> 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<E,Object> m) { this.m = m; } /* 无参数构造方法, */ public TreeSet() { this(new TreeMap<E,Object>());//调用的是TreeSet(NavigableMap<E,Object> m)构造方法 } public TreeSet(Comparator<? super E> comparator) { this(new TreeMap<>(comparator)); } public TreeSet(Collection<? extends E> c) { this();//调用的是TreeSet() addAll(c); } public TreeSet(SortedSet<E> s) { this(s.comparator());//调用的是TreeSet(Comparator<? super E> comparator) addAll(s); }
——TreeSet集合的普通方法
自己去看api吧。