TreeMap
# 前言
Java 集合可分为Collection 和Map 两种体系:
Collection接口:单列数据,定义了存取一组对象的方法的集合List:元素有序、可重复的集合ArrayList、LinkedList、Vector
Set:元素无序、不可重复的集合HashSet、LinkedHashSet、TreeSet
Map接口:双列数据,保存具有映射关系“key-value对”的集合,也称为键值对。HashMap、LinkedHashMap、TreeMap、Hashtable、Properties
现在我们开始学习TreeMap。
# 概述
TreeMap存储Key-Value 对时,需要根据key-value对进行排序。TreeMap可以保证所有的Key-Value对处于有序状态。TreeMap底层使用红黑树结构存储数据TreeMap的Key的排序:- 自然排序:
TreeMap的所有的Key必须实现Comparable接口,而且所有的Key应该是同一个类的对象,否则将会抛出ClasssCastException - 定制排序:创建
TreeMap时,传入一个Comparator对象,该对象负责对TreeMap中的所有key进行排序。此时不需要Map的Key实现Comparable接口
- 自然排序:
TreeMap判断两个key相等的标准:两个key通过compareTo()方法或者compare()方法返回0。
这里就不做展开了,因为之前TreeSet中也测试过了,有疑问可以提出。
帮我改善此页面 (opens new window)
上次更新: 2020/12/27, 06:16:30