K - 由此地图维护的键的类型
V - 映射值的类型
public interface NavigableMap<K,V> extends SortedMap<K,V>
SortedMap扩展了导航方法返回给定搜索目标的最接近的匹配。
方法lowerEntry , floorEntry , ceilingEntry和higherEntry返回Map.Entry与键相关联的对象比比大于给定的密钥分别更少,小于或等于,大于或等于,大于,返回null如果不存在这样的密钥。
同样,方法lowerKey , floorKey , ceilingKey和higherKey回报只有相关联的密钥。
所有这些方法都设计用于定位,而不是遍历条目。
A NavigableMap可以按升序或降序键顺序访问和遍历。 descendingMap方法返回地图的视图,其中所有关系和方向方向的意义都反转。 上升操作和观点的表现可能比降序更快。 方法subMap , headMap和tailMap从等命名的不同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 。
| Modifier and Type | Method and Description |
|---|---|
Map.Entry<K,V> |
ceilingEntry(K key)
返回与大于或等于给定键的最小键相关联的键值映射,如果没有此键,则
null 。
|
K |
ceilingKey(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 。
|
K |
floorKey(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 。
|
K |
higherKey(K key)
返回严格大于给定键的最小键,如果没有这样的键,则返回
null 。
|
Map.Entry<K,V> |
lastEntry()
返回与该地图中最大键相关联的键值映射,如果地图为空,则返回
null 。
|
Map.Entry<K,V> |
lowerEntry(K key)
返回与最大密钥相关联的密钥值映射严格小于给定密钥,如果没有这样的密钥则
null 。
|
K |
lowerKey(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 toKey。
|
SortedMap<K,V> |
tailMap(K fromKey)
返回此地图部分的视图,其键大于或等于
fromKey 。
|
NavigableMap<K,V> |
tailMap(K fromKey, boolean inclusive)
返回此地图部分的视图,其键大于(或等于,如果
inclusive为真)
fromKey 。
|
comparator, entrySet, firstKey, keySet, lastKey, valuesclear, compute, computeIfAbsent, computeIfPresent, containsKey, containsValue, equals, forEach, get, getOrDefault, hashCode, isEmpty, merge, put, putAll, putIfAbsent, remove, remove, replace, replace, replaceAll, sizeMap.Entry<K,V> lowerEntry(K key)
null 。
key - 关键
key ,或
null如果没有这样的密钥
ClassCastException - 如果指定的键不能与当前在地图中的键进行比较
NullPointerException - 如果指定的键为空,并且此映射不允许空键
K lowerKey(K key)
null 。
key - 关键
key ,否则
null如果没有这样的钥匙
ClassCastException - 如果指定的键不能与当前在地图中的键进行比较
NullPointerException - 如果指定的键为空,并且此映射不允许空键
Map.Entry<K,V> floorEntry(K key)
null 。
key - 关键
key ,如果没有这样的密钥,
null
ClassCastException - 如果指定的键不能与当前在地图中的键进行比较
NullPointerException - 如果指定的键为空,并且此映射不允许空键
K floorKey(K key)
null 。
key - 关键
key ,或
null如果没有这样的钥匙
ClassCastException - 如果指定的键不能与当前在地图中的键进行比较
NullPointerException - 如果指定的键为空,并且此映射不允许空键
Map.Entry<K,V> ceilingEntry(K key)
null 。
key - 关键
key ,如果没有这样的键,
null
ClassCastException - 如果指定的键不能与当前在地图中的键进行比较
NullPointerException - 如果指定的键为空,并且此映射不允许空键
K ceilingKey(K key)
null键,如果没有此键,则返回
null 。
key - 关键
key ,或
null如果没有这样的键
ClassCastException - 如果指定的键不能与当前在地图中的键进行比较
NullPointerException - 如果指定的键为空,此映射不允许空键
Map.Entry<K,V> higherEntry(K key)
null 。
key - 关键
key ,或
null如果没有这样的键
ClassCastException - 如果指定的键不能与当前在地图中的键进行比较
NullPointerException - 如果指定的键为空,并且此映射不允许空键
K higherKey(K key)
null 。
key - 关键
key ,或
null如果没有这样的键
ClassCastException - 如果指定的键不能与当前在地图中的键进行比较
NullPointerException - 如果指定的键为空,并且此映射不允许空键
Map.Entry<K,V> firstEntry()
null 。
null空,
null
Map.Entry<K,V> lastEntry()
null 。
null
Map.Entry<K,V> pollFirstEntry()
null 。
null空,
null
Map.Entry<K,V> pollLastEntry()
null 。
null空,
null
NavigableMap<K,V> descendingMap()
remove之外),否则修改了任一映射,则迭代的结果是未定义的。
返回的地图的订单等价于Collections.reverseOrder(comparator()) 。 表达式m.descendingMap().descendingMap()返回m.descendingMap().descendingMap()的视图, m相当于m 。
NavigableSet<K> navigableKeySet()
NavigableSet视图。
该集合的迭代器按升序返回密钥。
该集合由地图支持,因此对地图的更改将反映在集合中,反之亦然。
如果在集合中的迭代正在进行中修改映射(除了通过迭代器自己的remove操作),迭代的结果是未定义的。
该组支持元件移除,即从映射中相应的映射,经由Iterator.remove , Set.remove , removeAll , retainAll和clear操作。
它不支持add或addAll操作。
NavigableSet<K> descendingKeySet()
NavigableSet查看此地图中包含的键。
集合的迭代器按降序返回密钥。
该集合由地图支持,因此对地图的更改将反映在集合中,反之亦然。
如果在集合中的迭代正在进行中修改映射(除了通过迭代器自己的remove操作),迭代的结果是未定义的。
该组支持元件移除,即从映射中相应的映射,经由Iterator.remove , Set.remove , removeAll , retainAll和clear操作。
它不支持add或addAll操作。
NavigableMap<K,V> subMap(K fromKey, boolean fromInclusive, K toKey, boolean toInclusive)
fromKey到toKey 。
如果fromKey和toKey相等,则返回的地图为空,除非fromInclusive和toInclusive都为真。
返回的地图由此地图支持,因此返回的地图中的更改将反映在该地图中,反之亦然。
返回的地图支持该地图支持的所有可选地图操作。
返回的地图会抛出一个IllegalArgumentException ,试图在其范围之外插入一个键,或构造一个其端点位于其范围之外的子地图。
fromKey - 返回地图中的键的低端点
fromInclusive -
true如果低端点要包含在返回的视图中
toKey - 返回地图中的键的高端点
toInclusive -
true如果高端点要包含在返回的视图中
fromKey到
toKey
ClassCastException - 如果fromKey和toKey无法使用该地图的比较器相互比较(或者,如果地图没有比较器,则使用自然排序)。
如果fromKey或toKey无法与当前在地图中的键进行比较,则实施可能但不是必须抛出此异常。
NullPointerException - 如果
fromKey或
toKey为空,并且此映射不允许空键
IllegalArgumentException - 如果fromKey大于toKey ;
或者如果此地图本身具有限制范围,并且fromKey或toKey位于范围的范围之外
NavigableMap<K,V> headMap(K toKey, boolean inclusive)
inclusive为真) toKey 。
返回的地图由此地图支持,因此返回的地图中的更改将反映在该地图中,反之亦然。
返回的地图支持该地图支持的所有可选地图操作。
返回的地图将扔一个IllegalArgumentException尝试插入一个键超出其范围。
toKey - 返回地图中的键的高端点
inclusive -
true如果高端点要包含在返回的视图中
inclusive为真)的地图的部分视图
toKey
ClassCastException - 如果toKey与此映射的toKey器不兼容(或者如果映射没有比较器,则toKey不实现Comparable )。
如果toKey无法与当前在地图中的键进行比较,则实施可能但不是必须抛出此异常。
NullPointerException - 如果
toKey为空,并且此映射不允许空键
IllegalArgumentException - 如果此地图本身具有有限的范围,而
toKey位于范围的范围之外
NavigableMap<K,V> tailMap(K fromKey, boolean inclusive)
inclusive为真) fromKey 。
返回的地图由此地图支持,因此返回的地图中的更改将反映在该地图中,反之亦然。
返回的地图支持该地图支持的所有可选地图操作。
返回的地图将抛出一个IllegalArgumentException ,试图在其范围之外插入一个键。
fromKey - 返回地图中的键的低端点
inclusive -
true如果低端点要包括在返回的视图中
inclusive为真)
fromKey
ClassCastException - 如果fromKey与此地图的fromKey器不兼容(或者如果地图没有比较器,如果fromKey不实现Comparable )。
如果fromKey无法与当前在地图中的键进行比较,则实施可能但不是必须抛出此异常。
NullPointerException - 如果
fromKey为空,并且该地图不允许空值
IllegalArgumentException - 如果该地图本身有限制范围,而
fromKey位于范围的范围之外
SortedMap<K,V> subMap(K fromKey, K toKey)
fromKey (含)到toKey ,独占。
(如果fromKey和toKey相等,返回的地图为空。)返回的地图由该地图支持,因此返回的地图中的更改将反映在该地图中,反之亦然。
返回的地图支持该地图支持的所有可选地图操作。
返回的地图会抛出一个IllegalArgumentException ,试图在其范围之外插入一个键。
相当于subMap(fromKey, true, toKey, false) 。
subMap在界面
SortedMap<K,V>
fromKey - 返回地图中的键的低端点(含)
toKey - 返回地图中的键的高端点(独占)
fromKey (含)到
toKey ,独占
ClassCastException - 如果fromKey和toKey无法使用该地图的比较器相互比较(或者,如果地图没有比较器,则使用自然排序)。
如果fromKey或toKey无法与当前在地图中的键进行比较,则实施可能但不是必须抛出此异常。
NullPointerException - 如果
fromKey或
toKey为空,并且该地图不允许空键
IllegalArgumentException - 如果fromKey大于toKey ;
或者如果此地图本身具有限制范围,并且fromKey或toKey位于范围范围之外
SortedMap<K,V> headMap(K toKey)
toKey 。
返回的地图由此地图支持,因此返回的地图中的更改将反映在该地图中,反之亦然。
返回的地图支持该地图支持的所有可选地图操作。
返回的地图将抛出一个IllegalArgumentException ,试图在其范围之外插入一个键。
相当于headMap(toKey, false) 。
headMap在界面
SortedMap<K,V>
toKey - 返回地图中的键的高端点(独占)
toKey
ClassCastException - 如果toKey与此地图的toKey器不兼容(或者如果地图没有比较器,如果toKey不实现Comparable )。
如果toKey无法与当前在地图中的键进行比较,则实施可能但不是必须抛出此异常。
NullPointerException - 如果
toKey为空,并且此映射不允许空值
IllegalArgumentException - 如果此地图本身具有限制范围,并且
toKey位于范围界限之外
SortedMap<K,V> tailMap(K fromKey)
fromKey 。
返回的地图由此地图支持,因此返回的地图中的更改将反映在该地图中,反之亦然。
返回的地图支持该地图支持的所有可选地图操作。
返回的地图将扔一个IllegalArgumentException尝试在其范围之外插入一个键。
相当于tailMap(fromKey, true) 。
tailMap在界面
SortedMap<K,V>
fromKey - 返回地图中的键的低端点(含)
fromKey
ClassCastException - 如果fromKey与此地图的fromKey器不兼容(或者如果地图没有比较器,如果fromKey不实现Comparable )。
如果fromKey无法与当前在地图中的键进行比较,则实施可能但不是必须抛出此异常。
NullPointerException - 如果
fromKey为空,并且此映射不允许空键
IllegalArgumentException - if this map itself has a restricted range, and
fromKey lies outside the bounds of the range
Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2014, Oracle and/or its affiliates. All rights reserved.