TreeMap简介
- TreeMap 一个机遇有序的 k-v 集合,基于红黑树的 NavigableMap 实现
- TreeMap 根据键自然排序进行排序,也可以根据映射创建是提供的 Comparator 进行排序
继承关系
1 | class TreeMap<K,V> |
实现接口
1 | class TreeMap<K,V> implements NavigableMap<K,V>, Cloneable, java.io.Serializable |
TreeMap方法(API)
1 | Map.Entry<K,V> ceilingEntry(K key) |
TreeMap源码
1 | 存储结构 |
总结
- TreeMap 根据key进行排序,排序和定位需要依赖比较器或者覆写Compareable接口,不需要重写equals 和 hashCode方法,就可以去重
- TreeMap 的查询、插入和删除操作的效率都没有HashMap 高
- TreeMap 中的key 不能为null
参考
https://blog.csdn.net/ns_code/article/details/36421085
https://github.com/zxiaofan/JDK/blob/master/JDK1.8/src/java/util/TreeMap.java