首页 > IT职业 > IT职场 > Java集合详解(六):TreeMap原理解析
本文是基于jdk8_271版本进行分析的。
TreeMap是一个有序的key-value双列集合,底层基于红黑树实现。该映射根据其键的自然顺序进行排序,或者根据创建时提供的Comparator进行排序

1 public class TreeMap
2 extends AbstractMap
3 implements NavigableMap
1 // 比较器
2 private final Comparator super K> comparator; 3 // 根节点
4 private transient Entry root; 5 // 元素总数量
6 private transient int size = 0; 7 // 修改次数
8 private transient int modCount = 0;
1 public TreeMap() { 2 comparator = null;
3 }
4 public TreeMap(Comparator super K> comparator) { 5 this.comparator = comparator; 6 }
7 public TreeMap(Map extends K, ? extends V> m) { 8 comparator = null;
9 putAll(m); 10 } 11 public TreeMap(SortedMap m) { 12 comparator = m.comparator(); 13 try { 14 buildFromSorted(m.size(), m.entrySet().iterator(), null, null); 15 } catch (java.io.IOException cannotHappen) { 16 } catch (ClassNotFoundException cannotHappen) { 17 } 18 }
作者: Yanci丶
出处:https://www.cnblogs.com/Y2EX/p/14811286.html
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/2551/viewspace-2797585/ ,如需转载,请注明出处,否则将追究法律责任。