NavigableMap接口源码重点
- NavigableMap接口继承自SortedMap接口,提供有序Map接口的扩展,提供了更为细致的导航方法,SortedMap源码可以看我这篇文章 SortedMap
- SortedMap接口继承自Map接口,所以NavigableMap接口也可以说是一种Map接口
- NavigableMap接口提供了四类方法分别是
- 根据给定键key查找集合Map中的键
- 根据给定键key查找集合Map中的键值对Entry
- 获取集合Map中的键最小或最大的键值对
- 有序Map集合处理方法(构造逆序集合或子集合)
NavigableMap接口方法
| 方法名 | 作用 |
|---|---|
| K lowerKey(K key) | 返回小于给定键key的最大键(最接近key,但小于key),如果没有此类键,则返回null |
| K floorKey(K key) | 返回小于或等于给定key的最大键(最接近key,但小于等于key),如果没有此类键,则返回null |
| K higherKey(K key) | 返回大于给定键key的最小键(最接近key,但大于key),如果没有此类键,则返回null |
| K ceilingKey(K key) | 返回大于或等于给定键key的最小键(最接近key,但大于等于key),如果没有此类键,则返回null |
| Map.Entry | 返回小于给定键key的最大键关联的键值对Entry,如果没有此类键,则返回null |
| Map.Entry | 返回小于或等于给定键key的最大键关联的键值对Entry,如果没有此类键,则返回null |
| Map.Entry | 返回大于给定键key的最小键对应的键值对Entry,如果没有此类键,则返回null |
| Map.Entry | 返回大于或等于给定键key的最小键对应的键值对Entry,如果没有此类键,则返回null |
| Map.Entry | 返回与此Map中最小键对应的键值对Entry,如果键值对为空,则返回null |
| Map.Entry | 返回与此Map中最大键对应的键值对Entry,如果键值对为空,则返回null |
| Map.Entry | 移除并返回与此Map中最小键对应的键值对Entry,如果键值对为空,则返回null |
| Map.Entry | 移除并返回与此Map中最大键对应的键值对Entry,如果键值对为空,则返回null |
| NavigableMap descendingMap() | 返回此NavigableMap的逆序排序的NavigableMap |
| NavigableSet navigableKeySet() | 返回此Map中包含的键的NavigableSet集合,相当于返回包含key的Set集合,NavigableSet类似NavigableMap提供导航方法 |
| NavigableSet descendingKeySet() | 返回此Map中包含的键的逆序NavigableSet集合 |
| NavigableMap | 返回一个子NavigableMap,此子NavigableMap包含此NavigableMap键范围从fromKey到toKey的部分 |
| NavigableMap | 返回一个子NavigableMap,此子NavigableMap包含此NavigableMap键范围小于(或等于,如果inclusive为true)toKey的部分 |
| NavigableMap | 返回一个子NavigableMap,此子NavigableMap包含此NavigableMap键范围大于(或等于,如果 inclusive为true)fromKey的部分 |
| SortedMap | 继承并重写父类SortedMap的方法,返回一个子SortedMap,和上面subMap方法作用类似 |
| SortedMap | 继承并重写父类SortedMap的方法,返回一个子SortedMap,和上面headMap方法作用类似 |
| SortedMap | 继承并重写父类SortedMap的方法,返回一个子SortedMap,和上面tailMap方法作用类似 |
NavigableMap接口源码
package java.util; public interface NavigableMapextends SortedMap { Map.Entry lowerEntry(K key); K lowerKey(K key); Map.Entry floorEntry(K key); K floorKey(K key); Map.Entry ceilingEntry(K key); K ceilingKey(K key); Map.Entry higherEntry(K key); K higherKey(K key); Map.Entry firstEntry(); Map.Entry lastEntry(); Map.Entry pollFirstEntry(); Map.Entry pollLastEntry(); NavigableMap descendingMap(); NavigableSet navigableKeySet(); NavigableSet descendingKeySet(); NavigableMap subMap(K fromKey, boolean fromInclusive, K toKey, boolean toInclusive); NavigableMap headMap(K toKey, boolean inclusive); NavigableMap tailMap(K fromKey, boolean inclusive); SortedMap subMap(K fromKey, K toKey); SortedMap headMap(K toKey); SortedMap tailMap(K fromKey); }



