课程名称:Map从入门到性能分析
课程章节:
第5章 TreeMap
第6章课程总结
主讲老师:大谷
课程内容:
TreeMap排序以及性能对比
课程收获:
1、TreeMap与LinkedHashMap对比
TreeMap与LinkedHashMap都实现了Map接口。TreeMap与LinkedHashMap都是有序的,但是有此不同。LinkedHashMap是按照输入的顺序或者访问的顺序来进行排序的,LinkedHashMap的排序是按照自然数的升序或者降序来排序的,按照大小来比较和排列的。
2、 TreeMap的一些特有的方法
(1)、对TreeMap实现增、删、遍历、排序等操作
排序,默认是按照key的升序排序,如果要按照降序,需要自定义比较器Comparator,在compare方法中进行定义。
(2)、存取的耗时对比
TreeMap的遍历获取比较耗时:原因是TreeMap要进行排序。
TreeMap存储K-V键值对,通过红黑树(R-B tree)实现;
TreeMap继承了NavigableMap接口,NavigableMap接口继承了SortedMap接口,可支持一系列的导航定位以及导航操作的方法,当然只是提供了接口,需要TreeMap自己去实现;
TreeMap实现了Cloneable接口,可被克隆,实现了Serializable接口,可序列化;
TreeMap因为是通过红黑树实现,红黑树结构天然支持排序,默认情况下通过Key值的自然顺序进行排序。