介绍
- 会对集合内的元素排序,可以在 new 的时候添加比较器
- 默认按照 key 进行升序排序,也可以自定义排序规则
- 底层仍是红黑树
常用方法
- size()
- containsKey(K)
- put(K, V)
- get(K)
- remove(Object)
- containsValue(V)
- firstKey():获取按照排序规则的第一个键值对的键
- firstEntry():获取按照排序规则的第一个键值对
- lastKey():获取按照排序规则的最后一个键值对的键
- lastEntry():获取按照排序规则的最后一个键值对
- floorKey(K):获取当前键或者比当前键小的键中最大的键
- floorEntry(K):获取当前键或者比当前键小的键中最大的键对应的键值对
- ceilingKey(K):获取当前键或者比当前键大的键中最小的键
- ceilingEntry(K):获取当前键或者比当前键大的键中最小的键对应的键值对
自定义排序
这里自定义降序排序
传统方式
TreeMap map = new TreeMap<>(new Comparator<Integer>() {
@Override
public int compare(Integer o1, Integer o2) {
return o2 - o1;
}
});
lambda 方式
TreeMap map = new TreeMap<>((a, b) -> b - a);