-
- 参数类型
-
K- 此映射维护的密钥类型 -
V- 映射值的类型
- All Known Subinterfaces:
-
ConcurrentNavigableMap<K,V>
- 所有已知实现类:
-
ConcurrentSkipListMap,TreeMap
public interface NavigableMap<K,V> extends SortedMap<K,V>
使用导航方法扩展的SortedMap返回给定搜索目标的最接近匹配。 方法lowerEntry(K),floorEntry(K),ceilingEntry(K),和higherEntry(K)返回Map.Entry与键相关联的对象比比大于给定的密钥分别更少,小于或等于,大于或等于,大于,返回null如果不存在这样的密钥。 同样,方法lowerKey(K),floorKey(K),ceilingKey(K)和higherKey(K)回报只有相关联的密钥。 所有这些方法都是为了定位而不是遍历条目而设计的。可以按升序或降序键访问和遍历
NavigableMap。descendingMap()方法返回地图视图,其中所有关系和方向方法的感知都被反转。 升序操作和视图的性能可能比降序操作的速度快。 方法subMap(K, boolean, K, boolean),headMap(K, boolean),和tailMap(K, boolean)从等命名的不同SortedMap在接受描述的下限和上限是否是包含性的抗排斥附加参数的方法。 任何NavigableMap子图必须实现NavigableMap接口。此接口还定义了方法
firstEntry(),pollFirstEntry(),lastEntry()和pollLastEntry()返回和/或删除至少和最大的映射关系,如果存在,否则返回null。入口返回方法的实现预计将返回
Map.Entry对,表示生成时映射的快照,因此通常不支持可选的Entry.setValue方法。 但请注意,可以使用方法put更改关联映射中的映射。方法
subMap(K, K),headMap(K)和tailMap(K)被指定为返回SortedMap允许现有的实现SortedMap能相容地改进来实现NavigableMap,但鼓励扩展和该接口的实现重写这些方法返回NavigableMap。 同样,SortedMap.keySet(),可以覆盖到返回NavigableSet。此接口是Java Collections Framework的成员。
- 从以下版本开始:
- 1.6
-
-
方法摘要
所有方法 实例方法 抽象方法 变量和类型 方法 描述 Map.Entry<K,V>ceilingEntry(K key)返回与大于或等于给定键的最小键关联的键 - 值映射,如果没有此键,则null。KceilingKey(K key)返回大于或等于给定键的null键,如果没有这样的键,则null。NavigableSet<K>descendingKeySet()返回此映射中包含的键的反向顺序NavigableSet视图。NavigableMap<K,V>descendingMap()返回此映射中包含的映射的逆序视图。Map.Entry<K,V>firstEntry()返回与此映射中的最小键关联的键 - 值映射,如果映射为空,则null。Map.Entry<K,V>floorEntry(K key)返回与小于或等于给定键的最大键关联的键 - 值映射,如果没有此键,则null。KfloorKey(K key)返回小于或等于给定键的最大键,如果没有这样的键,则null。SortedMap<K,V>headMap(K toKey)返回此映射的部分视图,其键严格小于toKey。NavigableMap<K,V>headMap(K toKey, boolean inclusive)返回此映射的部分视图,其键小于(或等于,如果inclusive为真)toKey。Map.Entry<K,V>higherEntry(K key)返回与严格大于给定键的最小键关联的键 - 值映射,如果没有此键,则null。KhigherKey(K key)返回严格大于给定键的最小键,如果没有这样的键,则返回null。Map.Entry<K,V>lastEntry()返回与此映射中的最大键关联的键 - 值映射,如果映射为空,则null。Map.Entry<K,V>lowerEntry(K key)返回与严格小于给定键的最大键关联的键 - 值映射,如果没有此键,则null。KlowerKey(K key)返回严格小于给定键的最大键,如果没有这样键,则返回null。NavigableSet<K>navigableKeySet()返回此映射中包含的键的NavigableSet视图。Map.Entry<K,V>pollFirstEntry()删除并返回与此映射中的最小键关联的键 - 值映射,如果映射为空,则null。Map.Entry<K,V>pollLastEntry()删除并返回与此映射中的最大键关联的键 - 值映射,如果映射为空,则null。NavigableMap<K,V>subMap(K fromKey, boolean fromInclusive, K toKey, boolean toInclusive)返回此映射部分的视图,其键的范围为fromKey到toKey。SortedMap<K,V>subMap(K fromKey, K toKey)返回此映射部分的视图,其键的范围从fromKey(包括)到toKey(不包括)。SortedMap<K,V>tailMap(K fromKey)返回此映射部分的视图,其键大于或等于fromKey。NavigableMap<K,V>tailMap(K fromKey, boolean inclusive)返回此映射的部分视图,其键大于(或等于,如果inclusive为真)fromKey。-
声明方法的接口 java.util.Map
clear, compute, computeIfAbsent, computeIfPresent, containsKey, containsValue, equals, forEach, get, getOrDefault, hashCode, isEmpty, merge, put, putAll, putIfAbsent, remove, remove, replace, replace, replaceAll, size
-
-
-
-
方法详细信息
-
lowerEntry
Map.Entry<K,V> lowerEntry(K key)
返回与严格小于给定键的最大键相关联的键 - 值映射,如果没有此键,则null。- 参数
-
key- 关键 - 结果
-
最大密钥小于
key的条目,如果没有这样的密钥null - 异常
-
ClassCastException- 如果指定的密钥无法与地图中当前的密钥进行比较 -
NullPointerException- 如果指定的键为空且此映射不允许空键
-
lowerKey
K lowerKey(K key)
返回严格小于给定键的最大键,如果没有这样键,则返回null。- 参数
-
key- 关键 - 结果
-
最大的密钥小于
key,如果没有这样的密钥null - 异常
-
ClassCastException- 如果指定的密钥无法与地图中当前的密钥进行比较 -
NullPointerException- 如果指定的键为空且此映射不允许空键
-
floorEntry
Map.Entry<K,V> floorEntry(K key)
返回与小于或等于给定键的最大键关联的键 - 值映射,如果没有此键,则null。- 参数
-
key- 关键 - 结果
-
最大密钥小于或等于
key,如果没有这样的密钥null - 异常
-
ClassCastException- 如果指定的密钥无法与地图中当前的密钥进行比较 -
NullPointerException- 如果指定的键为null且此映射不允许空键
-
floorKey
K floorKey(K key)
返回小于或等于给定键的最大键,如果没有这样的键,则null。- 参数
-
key- 关键 - 结果
-
最大密钥小于或等于
key,如果没有这样的密钥null - 异常
-
ClassCastException- 如果指定的键无法与地图中当前的键进行比较 -
NullPointerException- 如果指定的键为空且此映射不允许空键
-
ceilingEntry
Map.Entry<K,V> ceilingEntry(K key)
返回与大于或等于给定键的最小键关联的键 - 值映射,如果没有此键,则null。- 参数
-
key- 关键 - 结果
-
最小密钥大于或等于
key,如果没有这样的密钥null - 异常
-
ClassCastException- 如果指定的键无法与地图中当前的键进行比较 -
NullPointerException- 如果指定的键为空且此映射不允许空键
-
ceilingKey
K ceilingKey(K key)
返回大于或等于给定键的null键,如果没有这样的键,则null。- 参数
-
key- 关键 - 结果
-
最小密钥大于或等于
key,如果没有这样的密钥null - 异常
-
ClassCastException- 如果指定的密钥无法与地图中当前的密钥进行比较 -
NullPointerException- 如果指定的键为空且此映射不允许空键
-
higherEntry
Map.Entry<K,V> higherEntry(K key)
返回与严格大于给定键的最小键关联的键值映射,如果没有此键,则null。- 参数
-
key- 关键 - 结果
-
最小密钥大于
key的条目,如果没有这样的密钥null - 异常
-
ClassCastException- 如果指定的密钥无法与地图中当前的密钥进行比较 -
NullPointerException- 如果指定的键为null且此映射不允许空键
-
higherKey
K higherKey(K key)
返回严格大于给定键的最小键,如果没有这样的键,则返回null。- 参数
-
key- 关键 - 结果
-
如果没有这样的密钥,则最小密钥大于
key或null - 异常
-
ClassCastException- 如果指定的密钥无法与地图中当前的密钥进行比较 -
NullPointerException- 如果指定的键为空且此映射不允许空键
-
firstEntry
Map.Entry<K,V> firstEntry()
返回与此映射中的最小键关联的键 - 值映射,如果映射为空,则null。- 结果
-
具有最小键的条目,或者如果此映射为空
null
-
lastEntry
Map.Entry<K,V> lastEntry()
返回与此映射中的最大键关联的键 - 值映射,如果映射为空,则null。- 结果
-
具有最大键的条目,如果此映射为空,
null
-
pollFirstEntry
Map.Entry<K,V> pollFirstEntry()
删除并返回与此映射中的最小键关联的键 - 值映射,如果映射为空,则null。- 结果
-
删除此地图的第一个条目,如果此地图为空,
null
-
pollLastEntry
Map.Entry<K,V> pollLastEntry()
删除并返回与此映射中的最大键关联的键 - 值映射,如果映射为空,则null。- 结果
-
删除此地图的最后一个条目,如果此地图为空,
null
-
descendingMap
NavigableMap<K,V> descendingMap()
返回此映射中包含的映射的逆序视图。 降序地图由此地图支持,因此对地图的更改将反映在降序地图中,反之亦然。 如果在对任一映射的集合视图进行迭代时修改了任一映射(除非通过迭代器自己的remove操作),则迭代的结果是未定义的。返回的地图的订购量等于
Collections.reverseOrder(comparator())。 表达式m.descendingMap().descendingMap()返回m.descendingMap().descendingMap()的视图,m等效于m。- 结果
- 此地图的逆序视图
-
navigableKeySet
NavigableSet<K> navigableKeySet()
返回此映射中包含的键的NavigableSet视图。 set的迭代器按升序返回键。 该集由地图支持,因此对地图的更改将反映在集中,反之亦然。 如果在对集合进行迭代时修改了映射(除了通过迭代器自己的remove操作),迭代的结果是未定义的。 该组支持元件移除,即从映射中相应的映射,经由Iterator.remove,Set.remove,removeAll,retainAll,和clear操作。 它不支持add或addAll操作。- 结果
- 此地图中键的可导航设置视图
-
descendingKeySet
NavigableSet<K> descendingKeySet()
返回此映射中包含的键的反向顺序NavigableSet视图。 set的迭代器按降序返回键。 该集由地图支持,因此对地图的更改将反映在集中,反之亦然。 如果在对集合进行迭代时修改了映射(除非通过迭代器自己的remove操作),则迭代的结果是未定义的。 该组支持元件移除,即从映射中相应的映射,经由Iterator.remove,Set.remove,removeAll,retainAll,和clear操作。 它不支持add或addAll操作。- 结果
- 此映射中键的反向可导航设置视图
-
subMap
NavigableMap<K,V> subMap(K fromKey, boolean fromInclusive, K toKey, boolean toInclusive)
返回此映射部分的视图,其键的范围为fromKey到toKey。 如果fromKey和toKey相等,则返回的映射为空,除非fromInclusive和toInclusive都为真。 返回的地图由此地图支持,因此返回的地图中的更改将反映在此地图中,反之亦然。 返回的地图支持此地图支持的所有可选地图操作。返回的地图将尝试在其范围之外插入一个键,或者构造一个其端点位于其范围之外的子图,从而抛出
IllegalArgumentException。- 参数
-
fromKey- 返回映射中键的低端点 -
fromInclusive-true如果true低端点包含在返回的视图中 -
toKey- 返回映射中键的高端点 -
toInclusive-true如果true高端点包含在返回的视图中 - 结果
-
此地图部分的视图,其键范围为
fromKey至toKey - 异常
-
ClassCastException- 如果fromKey和toKey无法使用此地图的比较器相互比较(或者,如果地图没有比较器,则使用自然顺序)。 如果无法将fromKey或toKey与当前映射中的键进行比较,则实现可能(但不是必须)抛出此异常。 -
NullPointerException- 如果fromKey或toKey为null且此映射不允许null键 -
IllegalArgumentException- 如果fromKey大于toKey; 或者如果此地图本身具有受限范围,并且fromKey或toKey位于范围的范围之外
-
headMap
NavigableMap<K,V> headMap(K toKey, boolean inclusive)
返回此映射的部分视图,其键小于(或等于,如果inclusive为真)toKey。 返回的地图由此地图支持,因此返回的地图中的更改将反映在此地图中,反之亦然。 返回的地图支持此地图支持的所有可选地图操作。返回的地图将尝试在其范围之外插入一个键时抛出
IllegalArgumentException。- 参数
-
toKey- 返回映射中键的高端点 -
inclusive-true如果true高端点包含在返回的视图中 - 结果
-
此地图部分的视图,其键小于(或等于,如果
inclusive为真)toKey - 异常
-
ClassCastException- 如果toKey与此映射的比较器不兼容(或者,如果映射没有比较器,则toKey未实现Comparable)。 如果无法将toKey与当前映射中的键进行比较,则实现可能(但不是必须)抛出此异常。 -
NullPointerException- 如果toKey为null且此映射不允许空键 -
IllegalArgumentException- 如果此地图本身具有受限范围,并且toKey位于范围的范围之外
-
tailMap
NavigableMap<K,V> tailMap(K fromKey, boolean inclusive)
返回此映射的部分视图,其键大于(或等于,如果inclusive为真)fromKey。 返回的地图由此地图支持,因此返回的地图中的更改将反映在此地图中,反之亦然。 返回的地图支持此地图支持的所有可选地图操作。返回的地图将尝试在其范围之外插入一个键时抛出
IllegalArgumentException。- 参数
-
fromKey- 返回映射中键的低端点 -
inclusive-true如果true低端点包含在返回的视图中 - 结果
-
此地图部分的视图,其键大于(或等于,如果
inclusive为真)fromKey - 异常
-
ClassCastException- 如果fromKey与此映射的比较器不兼容(或者,如果映射没有比较器,则fromKey未实现Comparable)。 如果无法将fromKey与当前映射中的键进行比较,则实现可能(但不是必须)抛出此异常。 -
NullPointerException- 如果fromKey为null且此映射不允许空键 -
IllegalArgumentException- 如果此地图本身具有受限范围,并且fromKey位于范围的范围之外
-
subMap
SortedMap<K,V> subMap(K fromKey, K toKey)
返回此映射部分的视图,其键的范围从fromKey(包括)到toKey(不包括)。 (如果fromKey和toKey相等,则返回的地图为空。)返回的地图由此地图支持,因此返回的地图中的更改将反映在此地图中,反之亦然。 返回的地图支持此地图支持的所有可选地图操作。返回的地图将尝试在其范围之外插入一个键时抛出
IllegalArgumentException。相当于
subMap(fromKey, true, toKey, false)。- Specified by:
-
subMap在界面SortedMap<K,V> - 参数
-
fromKey- 返回映射中键的低端点(包括) -
toKey- 返回映射中键的高端点(独占) - 结果
-
此地图部分的视图,其键范围从
fromKey(含)到toKey,独家 - 异常
-
ClassCastException- 如果fromKey和toKey无法使用此映射的比较器相互比较(或者,如果映射没有比较器,则使用自然顺序)。 如果无法将fromKey或toKey与当前映射中的键进行比较,则实现可能(但不是必须)抛出此异常。 -
NullPointerException- 如果fromKey或toKey为空且此映射不允许null键 -
IllegalArgumentException- 如果fromKey大于toKey; 或者如果此地图本身具有受限范围,并且fromKey或toKey位于范围的范围之外
-
headMap
SortedMap<K,V> headMap(K toKey)
返回此映射的部分视图,其键严格小于toKey。 返回的地图由此地图支持,因此返回的地图中的更改将反映在此地图中,反之亦然。 返回的地图支持此地图支持的所有可选地图操作。返回的地图将尝试在其范围之外插入一个键时抛出
IllegalArgumentException。相当于
headMap(toKey, false)。- Specified by:
-
headMap在界面SortedMap<K,V> - 参数
-
toKey- 返回映射中键的高端点(独占) - 结果
-
此地图部分的视图,其键严格小于
toKey - 异常
-
ClassCastException- 如果toKey与此映射的比较器不兼容(或者,如果映射没有比较器,则toKey未实现Comparable)。 如果无法将toKey与当前映射中的键进行比较,则实现可能(但不是必须)抛出此异常。 -
NullPointerException- 如果toKey为null且此映射不允许空键 -
IllegalArgumentException- 如果此地图本身具有受限范围,并且toKey位于范围的范围之外
-
tailMap
SortedMap<K,V> tailMap(K fromKey)
返回此映射部分的视图,其键大于或等于fromKey。 返回的地图由此地图支持,因此返回的地图中的更改将反映在此地图中,反之亦然。 返回的地图支持此地图支持的所有可选地图操作。返回的地图将尝试在其范围之外插入密钥时抛出
IllegalArgumentException。相当于
tailMap(fromKey, true)。- Specified by:
-
tailMap在界面SortedMap<K,V> - 参数
-
fromKey- 返回映射中键的低端点(包括) - 结果
-
此映射的部分视图,其键大于或等于
fromKey - 异常
-
ClassCastException- 如果fromKey与此映射的比较器不兼容(或者,如果映射没有比较器,则fromKey未实现Comparable)。 如果无法将fromKey与当前映射中的键进行比较,则实现可能(但不是必须)抛出此异常。 -
NullPointerException- 如果fromKey为null且此映射不允许空键 -
IllegalArgumentException- if this map itself has a restricted range, andfromKeylies outside the bounds of the range
-
-