Map集合基础03-TreeMap

进行总结

1. TreeMap的数据结构是红黑树

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();
posted @ 2022-03-09 23:19  PerfectLi  阅读(273)  评论(0编辑  收藏  举报