SortedMap 接口源码分析

本文详细介绍了SortedMap接口的特性及其实现原理。SortedMap继承自Map接口,它为存储的键值对提供排序功能,键可以是实现了Comparable接口的对象或能够被Comparator处理的对象。文章还解释了SortedMap与Map的主要区别,包括如何通过Comparator进行比较,以及通过subMap、headMap和tailMap等方法创建子Map。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、SortedMap 类结构图

       

二、源码分析

       a.  SortedMap 接口继承自 Map 接口,提供了按照 Key 排序的功能,即 keySet、values、entrySet 结果集有序

       b.  Key 需要实现 Comparable 接口或者能被指定的 Comparator 接收,以便排序

       c.  Map 接口定义中指出,应该使用 equals 判断 Key 是否相等,但 SortedMap 实际可以使用 Comparable/Comparator 代替

       d.  这些函数返回的部分 Map (子 Map) 与原有 Map 有映射关系,一个变化影响另一个

            The returned map is backed by this map, so changes in the returned map are reflected in this map, and vice-versa.

SortedMap<K,V> subMap(K fromKey, K toKey);  // 包含 from,不包含 to
SortedMap<K,V> headMap(K toKey);  // 不包含 to
SortedMap<K,V> tailMap(K fromKey);  // 包含 from

       e.  相比 Map 接口,主要增加了  comparator() 等比较相关方法,在定义中指出返回的 Set 应该是有序的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值