1 继承,实现
public class TreeSet<E> extends AbstractSet<E> implements NavigableSet<E>, Cloneable, java.io.Serializable
public TreeSet() { this(new TreeMap<E,Object>()); }
本质是一个TreeMap
2 结构
树结构
3 源码分析
public boolean add(E e) { return m.put(e, PRESENT)==null; }
public boolean remove(Object o) { return m.remove(o)==PRESENT; }
4 结论
-
key不能为null,原因是代码写死了
-
本质是一个TreeMap
-
如果有需要特殊排序的可以用它