public interface NavigableMap
implements SortedMap<K, V>
java.util.NavigableMap<K, V> |
Known Indirect Subclasses
|
用导航方法扩展的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
必须实现NavigableMap
接口。
此接口还定义了方法 firstEntry()
, pollFirstEntry()
, lastEntry()
,并 pollLastEntry()
返回和/或删除至少和最大的映射关系,如果存在,否则返回 null
。
入口返回方法的实现预计会返回Map.Entry
对,它们表示映射快照在生成时的快照,因此通常不支持可选的Entry.setValue
方法。 但请注意,可以使用方法put
更改相关映射中的映射。
方法subMap(K, K)
, headMap(K)
,并tailMap(K)
被指定为返回SortedMap
,以允许现有的实现SortedMap
能相容地改进来实现NavigableMap
,但鼓励扩展和该接口的实现重写这些方法返回NavigableMap
。 同样, keySet()
可以被覆盖返回NavigableSet
。
Public methods |
|
---|---|
abstract Entry<K, V> |
ceilingEntry(K key) 返回与最小键大于或等于给定键相关联的键 - 值映射,如果不存在这样的键,则 |
abstract K |
ceilingKey(K key) 返回大于或等于给定键的 |
abstract NavigableSet<K> |
descendingKeySet() 返回此映射中包含的键的相反顺序 |
abstract NavigableMap<K, V> |
descendingMap() 返回此映射中包含的映射的逆序视图。 |
abstract Entry<K, V> |
firstEntry() 返回与此地图中最小键值关联的键值映射,如果地图为空,则 |
abstract Entry<K, V> |
floorEntry(K key) 返回与最大键小于或等于给定键相关联的键 - 值映射,或者如果没有这样的键,则 |
abstract K |
floorKey(K key) 返回小于或等于给定键的最大键,或者如果不存在这样的键,则 |
abstract SortedMap<K, V> |
headMap(K toKey) 返回此映射的关键字严格小于 相当于 |
abstract NavigableMap<K, V> |
headMap(K toKey, boolean inclusive) 返回此映射的关键字小于(或等于,如果 |
abstract Entry<K, V> |
higherEntry(K key) 返回与最小键相关的键值映射,严格大于给定键,或者如果没有这样的键,则 |
abstract K |
higherKey(K key) 返回严格大于给定键的最小键,或者如果不存在这样的键,则返回 |
abstract Entry<K, V> |
lastEntry() 返回与此地图中最大键关联的键值映射,如果地图为空,则 |
abstract Entry<K, V> |
lowerEntry(K key) 返回与最大键相关的键 - 值映射严格小于给定键,或者如果没有这样的键,则 |
abstract K |
lowerKey(K key) 如果没有这样的密钥,则返回严格小于给定密钥的最大密钥或 |
abstract NavigableSet<K> |
navigableKeySet() 返回包含在此映射中的键的 |
abstract Entry<K, V> |
pollFirstEntry() 删除并返回与此地图中最少键值关联的键值映射,或者 |
abstract Entry<K, V> |
pollLastEntry() 移除并返回与此地图中最大键关联的键值映射,或者 |
abstract SortedMap<K, V> |
subMap(K fromKey, K toKey) 返回此映射部分的视图,其键的范围从 相当于 |
abstract NavigableMap<K, V> |
subMap(K fromKey, boolean fromInclusive, K toKey, boolean toInclusive) 返回此映射部分的视图,其键的范围从 |
abstract NavigableMap<K, V> |
tailMap(K fromKey, boolean inclusive) 返回此映射的关键字大于(或等于,如果 |
abstract SortedMap<K, V> |
tailMap(K fromKey) 返回此映射的关键字大于或等于 相当于 |
Inherited methods |
|
---|---|
From interface java.util.SortedMap
|
|
From interface java.util.Map
|
Entry<K, V> ceilingEntry (K key)
返回与最小键大于或等于给定键相关联的键 - 值映射,如果不存在这样的键,则 null
。
Parameters | |
---|---|
key |
K : the key |
Returns | |
---|---|
Entry<K, V> |
an entry with the least key greater than or equal to key , or null if there is no such key |
Throws | |
---|---|
ClassCastException |
if the specified key cannot be compared with the keys currently in the map |
NullPointerException |
if the specified key is null and this map does not permit null keys |
K ceilingKey (K key)
返回大于或等于给定键的 null
键,或者如果没有这样的键,则 null
。
Parameters | |
---|---|
key |
K : the key |
Returns | |
---|---|
K |
the least key greater than or equal to key , or null if there is no such key |
Throws | |
---|---|
ClassCastException |
if the specified key cannot be compared with the keys currently in the map |
NullPointerException |
if the specified key is null and this map does not permit null keys |
NavigableSet<K> descendingKeySet ()
返回此映射中包含的键的逆序NavigableSet
视图。 集合的迭代器按降序返回键。 该集合由地图支持,因此对地图的更改反映在集合中,反之亦然。 如果在对集合进行迭代的过程中修改了映射(除了通过迭代器自己的remove
操作),迭代的结果是未定义的。 该组支持元件移除,即从映射中相应的映射,经由Iterator.remove
, Set.remove
, removeAll
, retainAll
,和clear
操作。 它不支持add
或addAll
操作。
Returns | |
---|---|
NavigableSet<K> |
a reverse order navigable set view of the keys in this map |
NavigableMap<K, V> descendingMap ()
返回此映射中包含的映射的逆序视图。 降序地图由此地图支持,因此对地图的更改反映在降序地图中,反之亦然。 如果两个map中的任何一个在迭代时正在进行迭代(除了通过迭代器自己的remove
操作),那么迭代的结果是未定义的。
返回的地图的订购等同于Collections.reverseOrder
(comparator())
。 表达m.descendingMap().descendingMap()
返回一个视图的m
实质上等同于m
。
Returns | |
---|---|
NavigableMap<K, V> |
a reverse order view of this map |
Entry<K, V> firstEntry ()
返回与此地图中最小键值关联的键值映射,如果地图为空,则 null
。
Returns | |
---|---|
Entry<K, V> |
an entry with the least key, or null if this map is empty |
Entry<K, V> floorEntry (K key)
返回与最大键小于或等于给定键相关联的键 - 值映射,或者如果不存在这样的键,则 null
。
Parameters | |
---|---|
key |
K : the key |
Returns | |
---|---|
Entry<K, V> |
an entry with the greatest key less than or equal to key , or null if there is no such key |
Throws | |
---|---|
ClassCastException |
if the specified key cannot be compared with the keys currently in the map |
NullPointerException |
if the specified key is null and this map does not permit null keys |
K floorKey (K key)
返回小于或等于给定键的最大键,或者如果没有这样的键,则 null
。
Parameters | |
---|---|
key |
K : the key |
Returns | |
---|---|
K |
the greatest key less than or equal to key , or null if there is no such key |
Throws | |
---|---|
ClassCastException |
if the specified key cannot be compared with the keys currently in the map |
NullPointerException |
if the specified key is null and this map does not permit null keys |
SortedMap<K, V> headMap (K toKey)
返回此映射的关键字严格小于toKey
的部分的视图。 返回的地图由此地图支持,因此返回地图中的更改会反映在此地图中,反之亦然。 返回的地图支持该地图支持的所有可选地图操作。
试图在其范围外插入密钥时,返回的地图会抛出 IllegalArgumentException
。
相当于 headMap(toKey, false)
。
Parameters | |
---|---|
toKey |
K : high endpoint (exclusive) of the keys in the returned map |
Returns | |
---|---|
SortedMap<K, V> |
a view of the portion of this map whose keys are strictly less than toKey |
Throws | |
---|---|
ClassCastException |
|
NullPointerException |
|
IllegalArgumentException |
NavigableMap<K, V> headMap (K toKey, boolean inclusive)
返回此映射关键字小于(或等于,如果inclusive
为true) toKey
。 返回的地图由此地图支持,因此返回地图中的更改会反映在此地图中,反之亦然。 返回的地图支持该地图支持的所有可选地图操作。
返回的地图将尝试在其范围外插入密钥,以引发 IllegalArgumentException
。
Parameters | |
---|---|
toKey |
K : high endpoint of the keys in the returned map |
inclusive |
boolean : true if the high endpoint is to be included in the returned view |
Returns | |
---|---|
NavigableMap<K, V> |
a view of the portion of this map whose keys are less than (or equal to, if inclusive is true) toKey |
Throws | |
---|---|
ClassCastException |
if toKey is not compatible with this map's comparator (or, if the map has no comparator, if toKey does not implement Comparable ). Implementations may, but are not required to, throw this exception if toKey cannot be compared to keys currently in the map. |
NullPointerException |
if toKey is null and this map does not permit null keys |
IllegalArgumentException |
if this map itself has a restricted range, and toKey lies outside the bounds of the range |
Entry<K, V> higherEntry (K key)
返回与最小键相关的键 - 值映射严格大于给定键,如果没有这样的键,则 null
。
Parameters | |
---|---|
key |
K : the key |
Returns | |
---|---|
Entry<K, V> |
an entry with the least key greater than key , or null if there is no such key |
Throws | |
---|---|
ClassCastException |
if the specified key cannot be compared with the keys currently in the map |
NullPointerException |
if the specified key is null and this map does not permit null keys |
K higherKey (K key)
返回严格大于给定键的最小键,或者如果没有这样的键,则返回 null
。
Parameters | |
---|---|
key |
K : the key |
Returns | |
---|---|
K |
the least key greater than key , or null if there is no such key |
Throws | |
---|---|
ClassCastException |
if the specified key cannot be compared with the keys currently in the map |
NullPointerException |
if the specified key is null and this map does not permit null keys |
Entry<K, V> lastEntry ()
返回与此地图中最大键关联的键值映射,如果地图为空,则 null
。
Returns | |
---|---|
Entry<K, V> |
an entry with the greatest key, or null if this map is empty |
Entry<K, V> lowerEntry (K key)
返回与最大键相关的键 - 值映射严格小于给定键,或者如果没有这样的键,则 null
。
Parameters | |
---|---|
key |
K : the key |
Returns | |
---|---|
Entry<K, V> |
an entry with the greatest key less than key , or null if there is no such key |
Throws | |
---|---|
ClassCastException |
if the specified key cannot be compared with the keys currently in the map |
NullPointerException |
if the specified key is null and this map does not permit null keys |
K lowerKey (K key)
如果没有这样的密钥,则返回严格小于给定密钥的最大密钥,或 null
。
Parameters | |
---|---|
key |
K : the key |
Returns | |
---|---|
K |
the greatest key less than key , or null if there is no such key |
Throws | |
---|---|
ClassCastException |
if the specified key cannot be compared with the keys currently in the map |
NullPointerException |
if the specified key is null and this map does not permit null keys |
NavigableSet<K> navigableKeySet ()
返回包含在此映射中的键的NavigableSet
视图。 集合的迭代器按照升序返回键。 该集合由地图支持,因此对地图的更改反映在集合中,反之亦然。 如果在对集合进行迭代时修改了映射(除了通过迭代器自己的remove
操作),迭代的结果是未定义的。 该组支持元件移除,即从映射中相应的映射,经由Iterator.remove
, Set.remove
, removeAll
, retainAll
,和clear
操作。 它不支持add
或addAll
操作。
Returns | |
---|---|
NavigableSet<K> |
a navigable set view of the keys in this map |
Entry<K, V> pollFirstEntry ()
移除并返回与此地图中最小键值关联的键值映射,或者 null
映射为空的 null
。
Returns | |
---|---|
Entry<K, V> |
the removed first entry of this map, or null if this map is empty |
Entry<K, V> pollLastEntry ()
移除并返回与此地图中最大键关联的键值映射,或者 null
映射为空的 null
。
Returns | |
---|---|
Entry<K, V> |
the removed last entry of this map, or null if this map is empty |
SortedMap<K, V> subMap (K fromKey, K toKey)
返回此映射部分的视图,其键的范围从fromKey
(含)到toKey
(不包括)。 (如果fromKey
和toKey
相等,则返回的地图为空。)返回的地图由此地图支持,因此返回的地图中的更改将反映在此地图中,反之亦然。 返回的地图支持该地图支持的所有可选地图操作。
返回的地图将尝试在其范围之外插入密钥时尝试输入 IllegalArgumentException
。
相当于 subMap(fromKey, true, toKey, false)
。
Parameters | |
---|---|
fromKey |
K : low endpoint (inclusive) of the keys in the returned map |
toKey |
K : high endpoint (exclusive) of the keys in the returned map |
Returns | |
---|---|
SortedMap<K, V> |
a view of the portion of this map whose keys range from fromKey , inclusive, to toKey , exclusive |
Throws | |
---|---|
ClassCastException |
|
NullPointerException |
|
IllegalArgumentException |
NavigableMap<K, V> subMap (K fromKey, boolean fromInclusive, K toKey, boolean toInclusive)
返回此映射部分的视图,其键的范围从fromKey
到toKey
。 如果fromKey
和toKey
相等,则返回的映射为空,除非fromInclusive
和toInclusive
均为真。 返回的地图由此地图支持,因此返回地图中的更改会反映在此地图中,反之亦然。 返回的地图支持该地图支持的所有可选地图操作。
返回的映射将尝试在其范围外插入一个键,或者构造其端点位于其范围之外的子映射的 IllegalArgumentException
。
Parameters | |
---|---|
fromKey |
K : low endpoint of the keys in the returned map |
fromInclusive |
boolean : true if the low endpoint is to be included in the returned view |
toKey |
K : high endpoint of the keys in the returned map |
toInclusive |
boolean : true if the high endpoint is to be included in the returned view |
Returns | |
---|---|
NavigableMap<K, V> |
a view of the portion of this map whose keys range from fromKey to toKey |
Throws | |
---|---|
ClassCastException |
if fromKey and toKey cannot be compared to one another using this map's comparator (or, if the map has no comparator, using natural ordering). Implementations may, but are not required to, throw this exception if fromKey or toKey cannot be compared to keys currently in the map. |
NullPointerException |
if fromKey or toKey is null and this map does not permit null keys |
IllegalArgumentException |
if fromKey is greater than toKey ; or if this map itself has a restricted range, and fromKey or toKey lies outside the bounds of the range |
NavigableMap<K, V> tailMap (K fromKey, boolean inclusive)
返回此映射的关键字大于(或等于,如果inclusive
为true) fromKey
。 返回的地图由此地图支持,因此返回地图中的更改会反映在此地图中,反之亦然。 返回的地图支持该地图支持的所有可选地图操作。
返回的地图将尝试在其范围外插入密钥时尝试输入 IllegalArgumentException
。
Parameters | |
---|---|
fromKey |
K : low endpoint of the keys in the returned map |
inclusive |
boolean : true if the low endpoint is to be included in the returned view |
Returns | |
---|---|
NavigableMap<K, V> |
a view of the portion of this map whose keys are greater than (or equal to, if inclusive is true) fromKey |
Throws | |
---|---|
ClassCastException |
if fromKey is not compatible with this map's comparator (or, if the map has no comparator, if fromKey does not implement Comparable ). Implementations may, but are not required to, throw this exception if fromKey cannot be compared to keys currently in the map. |
NullPointerException |
if fromKey is null and this map does not permit null keys |
IllegalArgumentException |
if this map itself has a restricted range, and fromKey lies outside the bounds of the range |
SortedMap<K, V> tailMap (K fromKey)
返回此映射的关键字大于或等于fromKey
的部分的视图。 返回的地图由此地图支持,因此返回地图中的更改会反映在此地图中,反之亦然。 返回的地图支持该地图支持的所有可选地图操作。
返回的地图将尝试在其范围外插入密钥时尝试输入 IllegalArgumentException
。
相当于 tailMap(fromKey, true)
。
Parameters | |
---|---|
fromKey |
K : low endpoint (inclusive) of the keys in the returned map |
Returns | |
---|---|
SortedMap<K, V> |
a view of the portion of this map whose keys are greater than or equal to fromKey |
Throws | |
---|---|
ClassCastException |
|
NullPointerException |
|
IllegalArgumentException |