一、TreeMap 概述
摘自JDKAPI1.6版本部分解释:TreeMap 是基于红黑树的实现,是有序的,它根据 key 的自然顺序排序,或者根据指定的比较器(comparetor)进行排序,具体取决于构造方法。 TreeMap 不是同步的,因为排序调用比较方法,所以不支持 null 键,但是可以 null 值。
二、总结 TreeMap 的关键点
1、TreeMap 是有序的,按照自然排序或者指定比较器排序,不允许 null 键,允许 null 值,是不同步。
2、TreeMap 是基于红黑树实现的最大的好处就是可以按照业务场景得到已排序的结果。
三、结论分析
1、为什么 TreeMap 用红黑树实现?红黑树是什么?
TreeMap 保证了 Map 容器的有序性,而红黑树是为了保证插入和删除的性能。当我们在开发中需要用到有序的且按大小排列顺序的、不重复的、有映射关系的业务场景时,Java 提供了 TreeMap 这个容器用于方便开发者使用。
红黑树是一种自平衡的二叉树,这种数据结构有五个性质: