TreeMap 的实现就是红黑树数据结构,也就说是一棵自平衡的排序二叉树,这样就可以保证当需要快速检索指定节点
TreeSet 和 TreeMap 的关系 为了让大家了解 TreeMap 和 TreeSet 之间的关系,下面先看 TreeSet 类的部分源代码: public class TreeSet extends AbstractSet implements NavigableSet, Cloneable, java
Serializable { // 使用 NavigableMap 的 key 来保存 Set 集合的元素 private transient NavigableMap m; // 使用一个 PRESENT 作为 Map 集合的所有 value
private static final Object PRESENT = new Object(); // 包访问权限的构造器,以指定的 NavigableMap 对象创建 Set 集合 TreeSet(NavigableMap m) { this
m = m; } public TreeSet() // ① { // 以自然排序方式创建一个新的 TreeMap, // 根据该 TreeSet 创建一个 TreeSet, // 使用该 TreeMap 的 key 来保存 Set 集合的元素 this(new TreeMap()); } public TreeSet(Comparator