第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) {
}
}

 

 

 

buildFromSorted
putAll方法
Entry节点
put方法
fixAfterInsertion自平衡 TODO
get方法
remove方法
查找接近的元素
获得首尾的元素
containsValue方法
clear方法
获取迭代器
转换成集合
查找范围的元素 TODO
参考和推荐文章
posted @ 2023-04-22 17:30  cnetsa  阅读(7)  评论(0编辑  收藏  举报