Java集合框架(十二):SortedMap 源码分析

1、SortedMap 简述

SortedMap 接口扩展了 Map 接口并提供了有序的Map实现,SortedMap 的排序方式有两种:根据键值的自然顺序排序和指定比较器(Comparator)排序。插入有序的 SortedMap 的所有元素都必须实现Comparable接口

所有通用的有序映射实现类都应该提供四个“标准”构造函数:

  1. 一个void(无参数)构造函数,它根据键的自然顺序创建一个空的有序映射。
  2. 具有Comparator类型的单个参数的构造函数,它创建根据指定的比较器排序的空的有序映射。
  3. 具有Map类型的单个参数的构造函数,它创建一个具有与其参数相同的 key-value 映射的新映射,并根据键的自然顺序进行排序。
  4. 具有SortedMap类型的单个参数的构造函数,它创建一个新的有序映射,其具有相同的 key-value 映射和与输入有序映射相同的顺序。

在这里插入图片描述

2、SortedMap 类图

在这里插入图片描述

父接口:

Map<K,V>

所有已知子接口:

ConcurrentNavigableMap<K,V>, NavigableMap<K,V>

所有已知实现类:

ConcurrentSkipListMap, TreeMap

3、SortedMap 方法说明

1、Comparator<? super K> comparator():
返回用于对此映射中的键进行排序的比较器;如果此映射使用其键的自然顺序,则返回null。

2、SortedMap<K,V> subMap(K fromKey, K toKey):

返回此映射部分的视图,其键的范围从fromKey(包括)到 toKey(不包括)。 (如果fromKey和 toKey 相等,则返回的视图为空。)

当尝试在返回的映射范围之外插入键时,将会抛出 IllegalArgumentException。

3、SortedMap<K,V> headMap(K toKey):

返回此映射的部分视图,其键的范围小于 toKey。

4、SortedMap<K,V> tailMap(K fromKey):

返回此映射的部分视图,其键的范围大于等于fromKey。

5、K firstKey():

返回此映射中当前的第一个键。

6、K lastKey():

返回此映射中当前的最后一个键。

7、Set keySet():

返回此映射中所有键的 Set 视图。 set的迭代器按升序返回键。</

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值