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