Map集合基础03-TreeMap
进行总结
1. TreeMap的数据结构是红黑树
- 存取都是根据红黑树的规则进行
https://www.cnblogs.com/perferect/p/13569671.html
2.Comparator比较器有两种
- 通过构造器传入
public TreeMap(Comparator<? super K> comparator) {
this.comparator = comparator;
}
- 第二种,使用的是主键key实现的compare
k.compareTo(t.key);
3.TreeMap是"有序"的
- 因为底层是红黑树,二叉树左子树的值小于根节点小于右子树,所以key是有“顺序”的
- 但是又是无序的,因为和存入的顺序是不同的
4.主键key可以为空?也不可以为空?
能否为空主要取决于比较器
- 使用传入的比较器,要根据比较器的实现可否为空
- 如果是key类所实现的比较器 ?
- put方法中,key为空就会报空指针
if (key == null)
throw new NullPointerException();