第11篇:Map-TreeMap
第11篇:Map-TreeMap
//TreeMap用来排序的比较器,如果为null,说明使用key的自然排序
private final Comparator<? super K> comparator;
//TreeMap的根节点,类型是Entry键值对
private transient Entry<K,V> root;
//TreeMap中entry的个数
private transient int size = 0;
//对树的结构修改的次数
private transient int modCount = 0;
//使用key的自然排序,创建一个新的、空的TreeMap
public TreeMap() {
comparator = null;
}
//根据指定的Comparator,创建一个新的、空的TreeMap
public TreeMap(Comparator<? super K> comparator) {
this.comparator = comparator;
}
//根据key的自然排序,创建一个新的、包含指定map的所有映射的TreeMap
public TreeMap(Map<? extends K, ? extends V> m) {
comparator = null;
putAll(m);
}
//根据参数中SortedMap的comparator,创建一个新的、包含指定map的所有映射的TreeMap
public TreeMap(SortedMap<K, ? extends V> m) {
comparator = m.comparator();
try {
buildFromSorted(m.size(), m.entrySet().iterator(), null, null);
} catch (java.io.IOException cannotHappen) {
} catch (ClassNotFoundException cannotHappen) {
}
}