- 类型参数:
K
- 此map维护的键类型V
- 映射值的类型
- 所有已实现的接口:
Serializable
,Cloneable
,ConcurrentMap<K,
,V> ConcurrentNavigableMap<K,
,V> Map<K,
,V> NavigableMap<K,
,V> SortedMap<K,
V>
ConcurrentNavigableMap
实现。map根据其键的 自然排序 排序,或根据map创建时提供的 Comparator
排序,具体取决于使用的构造函数。
此类实现 SkipLists 的并发变体,提供预期平均值log(n)containsKey
、get
、put
和 remove
操作及其变体的时间成本。插入、删除、更新和访问操作由多个线程安全地并发执行。
迭代器和拆分器是 弱一致 。
升序键有序视图及其迭代器比降序视图更快。
此类及其视图中的方法返回的所有 Map.Entry
对表示生成它们时映射的快照。他们 not 支持 Entry.setValue
方法。 (但是请注意,可以使用 put
、 putIfAbsent
或 replace
更改关联map中的映射,具体取决于您需要的效果。)
请注意,批量操作 putAll
、equals
、toArray
、containsValue
和 clear
not 保证以原子方式执行。例如,与 putAll
操作同时运行的迭代器可能只查看部分添加的元素。
此类及其视图和迭代器实现了 Map
和 Iterator
接口的所有 optional 方法。与大多数其他并发集合一样,此类确实 not 允许使用 null
键或值,因为无法可靠地区分某些 null 返回值与元素的缺失。
此类是 Java 集合框架 的成员。
- 自从:
- 1.6
- 参见:
-
内部类总结
在类 java.util.AbstractMap 中声明的嵌套类/接口
AbstractMap.SimpleEntry<K,
V>, AbstractMap.SimpleImmutableEntry<K, V> -
构造方法总结
构造方法构造方法描述构造一个新的空映射,根据键的 自然排序 排序。ConcurrentSkipListMap
(Comparator<? super K> comparator) 构造一个新的空map,根据指定的比较器排序。ConcurrentSkipListMap
(Map<? extends K, ? extends V> m) 构造一个包含与给定映射相同的映射的新映射,根据键的 自然排序 排序。ConcurrentSkipListMap
(SortedMap<K, ? extends V> m) 构造一个包含相同映射并使用与指定排序映射相同顺序的新映射。 -
方法总结
修饰符和类型方法描述ceilingEntry
(K key) 返回与大于或等于给定键的最小键关联的键值映射,如果没有这样的条目,则返回null
。ceilingKey
(K key) 返回大于或等于给定键的最小键,如果没有这样的键,则返回null
。void
clear()
从此map中删除所有映射。clone()
返回此ConcurrentSkipListMap
实例的浅表副本。Comparator<? super K>
返回用于排序此map中的键的比较器,如果此map使用其键的自然排序,则返回null
。尝试计算指定键及其当前映射值的映射(如果没有当前映射,则为null
)。computeIfAbsent
(K key, Function<? super K, ? extends V> mappingFunction) 如果指定的键尚未与值关联,则尝试使用给定的映射函数计算其值并将其输入到此map中,除非null
。computeIfPresent
(K key, BiFunction<? super K, ? super V, ? extends V> remappingFunction) 如果存在指定键的值,则尝试在给定键及其当前映射值的情况下计算新映射。boolean
containsKey
(Object key) 如果此map包含指定键的映射,则返回true
。boolean
containsValue
(Object value) 如果此map将一个或多个键映射到指定值,则返回true
。返回此map中包含的键的逆序NavigableSet
视图。返回此map中包含的映射的逆序视图。entrySet()
返回此map中包含的映射的Set
视图。boolean
比较指定对象与此map是否相等。返回与此map中最少键关联的键值映射,如果map为空,则返回null
。firstKey()
返回当前map中的第一个(最低)键。floorEntry
(K key) 返回与小于或等于给定键的最大键关联的键值映射,如果没有这样的键,则返回null
。返回小于或等于给定键的最大键,如果没有这样的键,则返回null
。返回指定键映射到的值,如果此map不包含键的映射,则返回null
。getOrDefault
(Object key, V defaultValue) 返回指定键映射到的值,如果此map不包含键的映射,则返回给定的 defaultValue。返回此map部分的视图,其键严格小于toKey
。返回此map部分的视图,其键小于(或等于,如果inclusive
为真)toKey
。higherEntry
(K key) 返回与严格大于给定键的最小键关联的键值映射,如果没有这样的键,则返回null
。返回严格大于给定键的最小键,如果没有这样的键,则返回null
。boolean
isEmpty()
如果此map不包含键值映射,则返回true
。keySet()
返回此map中包含的键的NavigableSet
视图。返回与此map中最大键关联的键值映射,如果map为空,则返回null
。lastKey()
返回当前在此map中的最后一个(最高)键。lowerEntry
(K key) 返回与严格小于给定键的最大键关联的键值映射,如果没有这样的键,则返回null
。返回严格小于给定键的最大键,如果没有这样的键,则返回null
。如果指定的键尚未与值关联,则将其与给定值关联。返回此map中包含的键的NavigableSet
视图。删除并返回与此map中最小键关联的键值映射,如果map为空,则返回null
。删除并返回与此map中最大键关联的键值映射,如果map为空,则返回null
。将指定值与此map中的指定键相关联。putIfAbsent
(K key, V value) 如果指定的键尚未与值关联,则将其与给定值关联。从此map中删除指定键的映射(如果存在)。boolean
仅当当前映射到给定值时才删除键的条目。仅当当前映射到某个值时才替换键的条目。boolean
仅当当前映射到给定值时才替换键的条目。int
size()
返回此map中键值映射的数量。返回此map部分的视图,其键范围从fromKey
到toKey
。返回此map部分的视图,其键范围从fromKey
(含)到toKey
(不包含)。返回此map的键大于或等于fromKey
的部分的视图。返回此map部分的视图,其键大于(或等于,如果inclusive
为真)fromKey
。values()
返回此map中包含的值的Collection
视图。在接口 java.util.concurrent.ConcurrentMap 中声明的方法
forEach, replaceAll
-
构造方法详细信息
-
ConcurrentSkipListMap
public ConcurrentSkipListMap()构造一个新的空映射,根据键的 自然排序 排序。 -
ConcurrentSkipListMap
构造一个新的空map,根据指定的比较器排序。- 参数:
comparator
- 将用于排序此map的比较器。如果null
,将使用键的 自然排序。
-
ConcurrentSkipListMap
构造一个包含与给定映射相同的映射的新映射,根据键的 自然排序 排序。- 参数:
m
- 其映射要放置在此map中的map- 抛出:
ClassCastException
- 如果m
中的键不是Comparable
,或者不可相互比较NullPointerException
- 如果指定的map或其任何键或值为空
-
ConcurrentSkipListMap
构造一个包含相同映射并使用与指定排序映射相同顺序的新映射。- 参数:
m
- 已排序映射,其映射将放置在此map中,并且其比较器将用于对此map进行排序- 抛出:
NullPointerException
- 如果指定的排序映射或其任何键或值为空
-
-
方法详情
-
clone
返回此ConcurrentSkipListMap
实例的浅表副本。 (键和值本身不会被克隆。)- 重写:
clone
在类AbstractMap<K,
中V> - 返回:
- 这张map的浅表副本
- 参见:
-
containsKey
如果此map包含指定键的映射,则返回true
。- 指定者:
containsKey
在接口Map<K,
中V> - 重写:
containsKey
在类AbstractMap<K,
中V> - 参数:
key
- 要测试其在此map中是否存在的键- 返回:
true
如果此map包含指定键的映射- 抛出:
ClassCastException
- 如果无法将指定键与当前map中的键进行比较NullPointerException
- 如果指定的键为空
-
get
返回指定键映射到的值,如果此map不包含键的映射,则返回null
。更正式地说,如果此map包含从键
k
到值v
的映射,使得根据映射的顺序key
比较等于k
,则此方法返回v
;否则返回null
。 (最多可以有一个这样的映射。)- 指定者:
get
在接口Map<K,
中V> - 重写:
get
在类AbstractMap<K,
中V> - 参数:
key
- 要返回其关联值的键- 返回:
-
指定键映射到的值,如果此map不包含键的映射,则返回
null
- 抛出:
ClassCastException
- 如果无法将指定键与当前map中的键进行比较NullPointerException
- 如果指定的键为空
-
getOrDefault
返回指定键映射到的值,如果此map不包含键的映射,则返回给定的 defaultValue。- 指定者:
getOrDefault
在接口ConcurrentMap<K,
中V> - 指定者:
getOrDefault
在接口Map<K,
中V> - 参数:
key
- 钥匙defaultValue
- 如果此map不包含给定键的映射,则返回值- 返回:
- 密钥的映射(如果存在);否则默认值
- 抛出:
NullPointerException
- 如果指定的键为空- 自从:
- 1.8
-
put
将指定值与此map中的指定键相关联。如果map之前包含键的映射,则旧值将被替换。- 指定者:
put
在接口Map<K,
中V> - 重写:
put
在类AbstractMap<K,
中V> - 参数:
key
- 与指定值关联的键value
- 与指定键关联的值- 返回:
-
与指定键关联的先前值,或者
null
如果键没有映射 - 抛出:
ClassCastException
- 如果无法将指定键与当前map中的键进行比较NullPointerException
- 如果指定的键或值是 null
-
remove
从此map中删除指定键的映射(如果存在)。- 指定者:
remove
在接口Map<K,
中V> - 重写:
remove
在类AbstractMap<K,
中V> - 参数:
key
- 应删除映射的键- 返回:
-
与指定键关联的先前值,或者
null
如果键没有映射 - 抛出:
ClassCastException
- 如果无法将指定键与当前map中的键进行比较NullPointerException
- 如果指定的键为空
-
containsValue
如果此map将一个或多个键映射到指定值,则返回true
。此操作需要与map大小成线性关系的时间。另外,在该方法执行过程中,map有可能发生变化,返回的结果可能不准确。- 指定者:
containsValue
在接口Map<K,
中V> - 重写:
containsValue
在类AbstractMap<K,
中V> - 参数:
value
- 要测试其在此map中是否存在的值- 返回:
true
如果存在到value
的映射;false
否则- 抛出:
NullPointerException
- 如果指定值为空
-
size
public int size()返回此map中键值映射的数量。如果map包含超过Integer.MAX_VALUE
个元素,则返回Integer.MAX_VALUE
。 -
isEmpty
public boolean isEmpty()如果此map不包含键值映射,则返回true
。 -
clear
public void clear()从此map中删除所有映射。 -
computeIfAbsent
如果指定的键尚未与值关联,则尝试使用给定的映射函数计算其值并将其输入到此map中,除非null
。该函数NOT保证仅在值不存在时以原子方式应用一次。- 指定者:
computeIfAbsent
在接口ConcurrentMap<K,
中V> - 指定者:
computeIfAbsent
在接口Map<K,
中V> - 参数:
key
- 与指定值关联的键mappingFunction
- 计算值的函数- 返回:
- 与指定键关联的当前(现有或计算)值,如果计算值为 null,则为 null
- 抛出:
NullPointerException
- 如果指定键为空或 mappingFunction 为空- 自从:
- 1.8
-
computeIfPresent
如果存在指定键的值,则尝试在给定键及其当前映射值的情况下计算新映射。该函数NOT保证以原子方式应用一次。- 指定者:
computeIfPresent
在接口ConcurrentMap<K,
中V> - 指定者:
computeIfPresent
在接口Map<K,
中V> - 参数:
key
- 值可能关联的键remappingFunction
- 计算值的函数- 返回:
- 与指定键关联的新值,如果没有则为 null
- 抛出:
NullPointerException
- 如果指定键为空或 remappingFunction 为空- 自从:
- 1.8
-
compute
尝试计算指定键及其当前映射值的映射(如果没有当前映射,则为null
)。该函数NOT保证以原子方式应用一次。- 指定者:
compute
在接口ConcurrentMap<K,
中V> - 指定者:
compute
在接口Map<K,
中V> - 参数:
key
- 与指定值关联的键remappingFunction
- 计算值的函数- 返回:
- 与指定键关联的新值,如果没有则为 null
- 抛出:
NullPointerException
- 如果指定键为空或 remappingFunction 为空- 自从:
- 1.8
-
merge
如果指定的键尚未与值关联,则将其与给定值关联。否则,用给定重映射函数的结果替换该值,或者删除 ifnull
。该函数NOT保证以原子方式应用一次。- 指定者:
merge
在接口ConcurrentMap<K,
中V> - 指定者:
merge
在接口Map<K,
中V> - 参数:
key
- 与指定值关联的键value
- 如果不存在则使用的值remappingFunction
- 重新计算值的函数(如果存在)- 返回:
- 与指定键关联的新值,如果没有则为 null
- 抛出:
NullPointerException
- 如果指定的键或值是 null 或者 remappingFunction 是 null- 自从:
- 1.8
-
keySet
返回此map中包含的键的NavigableSet
视图。该集合的迭代器按升序返回键。该集合的拆分器还报告
Spliterator.CONCURRENT
、Spliterator.NONNULL
、Spliterator.SORTED
和Spliterator.ORDERED
,遇到顺序为升序键顺序。如果 map比较器 是
null
,则 分离器的比较器 是null
。否则,拆分器的比较器与map的比较器相同或强加相同的总排序。该集合由map支持,因此对map的更改会反映在集合中,反之亦然。该集合支持元素删除,即通过
Iterator.remove
、Set.remove
、removeAll
、retainAll
和clear
操作从map中删除相应的映射。它不支持add
或addAll
操作。视图的迭代器和拆分器是 弱一致 。
此方法等同于方法
navigableKeySet
。 -
values
返回此map中包含的值的Collection
视图。集合的迭代器按相应键的升序返回值。集合的拆分器还报告
Spliterator.CONCURRENT
、Spliterator.NONNULL
和Spliterator.ORDERED
,遇到顺序是相应键的升序。集合由map支持,因此对map的更改会反映在集合中,反之亦然。该集合支持元素删除,即通过
Iterator.remove
、Collection.remove
、removeAll
、retainAll
和clear
操作从map中删除相应的映射。它不支持add
或addAll
操作。视图的迭代器和拆分器是 弱一致 。
-
entrySet
返回此map中包含的映射的Set
视图。该集合的迭代器以升序键顺序返回条目。该集合的拆分器还报告
Spliterator.CONCURRENT
、Spliterator.NONNULL
、Spliterator.SORTED
和Spliterator.ORDERED
,遇到顺序为升序键顺序。该集合由map支持,因此对map的更改会反映在集合中,反之亦然。该集合支持元素移除,即通过
Iterator.remove
、Set.remove
、removeAll
、retainAll
和clear
操作从map中移除相应的映射。它不支持add
或addAll
操作。视图的迭代器和拆分器是 弱一致 。
iterator
或spliterator
遍历的Map.Entry
元素做not支持setValue
操作。 -
descendingMap
从接口ConcurrentNavigableMap
复制的描述返回此map中包含的映射的逆序视图。降序图受此map支持,因此对map的更改会反映在降序图中,反之亦然。返回的map的排序等同于
Collections.reverseOrder
(comparator())
。表达式m.descendingMap().descendingMap()
返回m
的视图,本质上等同于m
。- 指定者:
descendingMap
在接口ConcurrentNavigableMap<K,
中V> - 指定者:
descendingMap
在接口NavigableMap<K,
中V> - 返回:
- 这张map的倒序视图
-
descendingKeySet
从接口ConcurrentNavigableMap
复制的描述返回此map中包含的键的逆序NavigableSet
视图。该集合的迭代器按降序返回键。该集合由map支持,因此对map的更改会反映在集合中,反之亦然。该集合支持元素删除,即通过Iterator.remove
、Set.remove
、removeAll
、retainAll
和clear
操作从map中删除相应的映射。它不支持add
或addAll
操作。视图的迭代器和拆分器是 弱一致 。
- 指定者:
descendingKeySet
在接口ConcurrentNavigableMap<K,
中V> - 指定者:
descendingKeySet
在接口NavigableMap<K,
中V> - 返回:
- 此map中键的逆序可导航集视图
-
equals
比较指定对象与此map是否相等。如果给定对象也是一个映射并且两个映射表示相同的映射,则返回true
。更正式地说,两个映射m1
和m2
表示相同的映射,如果m1.entrySet().equals(m2.entrySet())
。如果在执行此方法期间同时修改了任一映射,则此操作可能会返回误导性结果。 -
putIfAbsent
如果指定的键尚未与值关联,则将其与给定值关联。这相当于,对于这个map
:if (!map.containsKey(key)) return map.put(key, value); else return map.get(key);
- 指定者:
putIfAbsent
在接口ConcurrentMap<K,
中V> - 指定者:
putIfAbsent
在接口Map<K,
中V> - 参数:
key
- 与指定值关联的键value
- 与指定键关联的值- 返回:
-
与指定键关联的先前值,或者
null
如果键没有映射 - 抛出:
ClassCastException
- 如果无法将指定键与当前map中的键进行比较NullPointerException
- 如果指定的键或值是 null
-
remove
仅当当前映射到给定值时才删除键的条目。这相当于,对于这个map
:if (map.containsKey(key) && Objects.equals(map.get(key), value)) { map.remove(key); return true; } else { return false; }
- 指定者:
remove
在接口ConcurrentMap<K,
中V> - 指定者:
remove
在接口Map<K,
中V> - 参数:
key
- 与指定值关联的键value
- 预期与指定键关联的值- 返回:
true
如果值被删除- 抛出:
ClassCastException
- 如果无法将指定键与当前map中的键进行比较NullPointerException
- 如果指定的键为空
-
replace
仅当当前映射到给定值时才替换键的条目。对于这个map
:if (map.containsKey(key) && Objects.equals(map.get(key), oldValue)) { map.put(key, newValue); return true; } else { return false; }
- 指定者:
replace
在接口ConcurrentMap<K,
中V> - 指定者:
replace
在接口Map<K,
中V> - 参数:
key
- 与指定值关联的键oldValue
- 预期与指定键关联的值newValue
- 与指定键关联的值- 返回:
true
如果值被替换- 抛出:
ClassCastException
- 如果无法将指定键与当前map中的键进行比较NullPointerException
- 如果任何参数为空
-
replace
仅当当前映射到某个值时才替换键的条目。这相当于,对于这个map
:if (map.containsKey(key)) return map.put(key, value); else return null;
- 指定者:
replace
在接口ConcurrentMap<K,
中V> - 指定者:
replace
在接口Map<K,
中V> - 参数:
key
- 与指定值关联的键value
- 与指定键关联的值- 返回:
-
与指定键关联的先前值,或者
null
如果键没有映射 - 抛出:
ClassCastException
- 如果无法将指定键与当前map中的键进行比较NullPointerException
- 如果指定的键或值是 null
-
comparator
从接口SortedMap
复制的描述返回用于排序此map中的键的比较器,如果此map使用其键的自然排序,则返回null
。- 指定者:
comparator
在接口SortedMap<K,
中V> - 返回:
-
用于排序此map中的键的比较器,或者
null
如果此map使用其键的自然排序
-
firstKey
从接口SortedMap
复制的描述返回当前map中的第一个(最低)键。- 指定者:
firstKey
在接口SortedMap<K,
中V> - 返回:
- 此map中当前的第一个(最低)键
- 抛出:
NoSuchElementException
- 如果这张map是空的
-
lastKey
从接口SortedMap
复制的描述返回当前在此map中的最后一个(最高)键。- 指定者:
lastKey
在接口SortedMap<K,
中V> - 返回:
- 当前在此map中的最后一个(最高)键
- 抛出:
NoSuchElementException
- 如果这张map是空的
-
subMap
public ConcurrentNavigableMap <K ,V > subMap(K fromKey, boolean fromInclusive, K toKey, boolean toInclusive) 从接口NavigableMap
复制的描述返回此map部分的视图,其键范围从fromKey
到toKey
。如果fromKey
和toKey
相等,则返回的映射为空,除非fromInclusive
和toInclusive
都为真。返回的map受此map支持,因此返回map中的更改会反映在此map中,反之亦然。返回的map支持此map支持的所有可选map操作。返回的映射将抛出
IllegalArgumentException
尝试插入其范围之外的键,或构建其端点位于其范围之外的子图。- 指定者:
subMap
在接口ConcurrentNavigableMap<K,
中V> - 指定者:
subMap
在接口NavigableMap<K,
中V> - 参数:
fromKey
- 返回map中键的低端点fromInclusive
-true
如果低端点要包含在返回的视图中toKey
- 返回map中键的高端点toInclusive
-true
如果高端点要包含在返回的视图中- 返回:
-
此map的部分视图,其键范围从
fromKey
到toKey
- 抛出:
ClassCastException
- 如果fromKey
和toKey
无法使用此map的比较器相互比较(或者,如果map没有比较器,则使用自然排序)。如果无法将fromKey
或toKey
与当前map中的键进行比较,实现可能会(但不是必须)抛出此异常。NullPointerException
- 如果fromKey
或toKey
为空IllegalArgumentException
- 如果fromKey
大于toKey
;或者如果这个map本身有一个限制范围,并且fromKey
或toKey
位于范围的边界之外
-
headMap
从接口NavigableMap
复制的描述返回此map部分的视图,其键小于(或等于,如果inclusive
为真)toKey
。返回的map受此map支持,因此返回map中的更改会反映在此map中,反之亦然。返回的map支持此map支持的所有可选map操作。返回的映射将在尝试插入其范围之外的键时抛出
IllegalArgumentException
。- 指定者:
headMap
在接口ConcurrentNavigableMap<K,
中V> - 指定者:
headMap
在接口NavigableMap<K,
中V> - 参数:
toKey
- 返回map中键的高端点inclusive
-true
如果高端点要包含在返回的视图中- 返回:
-
此map的部分视图,其键小于(或等于,如果
inclusive
为真)toKey
- 抛出:
ClassCastException
- 如果toKey
与此map的比较器不兼容(或者,如果map没有比较器,如果toKey
未实现Comparable
)。如果无法将toKey
与当前map中的键进行比较,实现可能会(但不是必须)抛出此异常。NullPointerException
- 如果toKey
为空IllegalArgumentException
- 如果这个map本身有一个限制范围,并且toKey
位于范围的边界之外
-
tailMap
从接口NavigableMap
复制的描述返回此map部分的视图,其键大于(或等于,如果inclusive
为真)fromKey
。返回的map受此map支持,因此返回map中的更改会反映在此map中,反之亦然。返回的map支持此map支持的所有可选map操作。返回的映射将在尝试插入其范围之外的键时抛出
IllegalArgumentException
。- 指定者:
tailMap
在接口ConcurrentNavigableMap<K,
中V> - 指定者:
tailMap
在接口NavigableMap<K,
中V> - 参数:
fromKey
- 返回map中键的低端点inclusive
-true
如果低端点要包含在返回的视图中- 返回:
-
此map的部分视图,其键大于(或等于,如果
inclusive
为真)fromKey
- 抛出:
ClassCastException
- 如果fromKey
与此map的比较器不兼容(或者,如果map没有比较器,如果fromKey
未实现Comparable
)。如果无法将fromKey
与当前map中的键进行比较,实现可能会(但不是必须)抛出此异常。NullPointerException
- 如果fromKey
为空IllegalArgumentException
- 如果这个map本身有一个限制范围,并且fromKey
位于范围的边界之外
-
subMap
从接口NavigableMap
复制的描述返回此map部分的视图,其键范围从fromKey
(含)到toKey
(不包含)。 (如果fromKey
和toKey
相等,则返回的map为空。)返回的map受此map支持,因此返回map中的更改会反映在此map中,反之亦然。返回的map支持此map支持的所有可选map操作。返回的映射将在尝试插入其范围之外的键时抛出
IllegalArgumentException
。相当于
subMap(fromKey, true, toKey, false)
。- 指定者:
subMap
在接口ConcurrentNavigableMap<K,
中V> - 指定者:
subMap
在接口NavigableMap<K,
中V> - 指定者:
subMap
在接口SortedMap<K,
中V> - 参数:
fromKey
- 返回map中键的低端点(包括)toKey
- 返回map中键的高端点(不包括)- 返回:
-
此map的部分视图,其键范围从
fromKey
到toKey
不包括在内 - 抛出:
ClassCastException
- 如果fromKey
和toKey
无法使用此map的比较器相互比较(或者,如果map没有比较器,则使用自然排序)。如果无法将fromKey
或toKey
与当前map中的键进行比较,实现可能会(但不是必须)抛出此异常。NullPointerException
- 如果fromKey
或toKey
为空IllegalArgumentException
- 如果fromKey
大于toKey
;或者如果这个map本身有一个限制范围,并且fromKey
或toKey
位于范围的边界之外
-
headMap
从接口NavigableMap
复制的描述返回此map部分的视图,其键严格小于toKey
。返回的map受此map支持,因此返回map中的更改会反映在此map中,反之亦然。返回的map支持此map支持的所有可选map操作。返回的映射将在尝试插入其范围之外的键时抛出
IllegalArgumentException
。相当于
headMap(toKey, false)
。- 指定者:
headMap
在接口ConcurrentNavigableMap<K,
中V> - 指定者:
headMap
在接口NavigableMap<K,
中V> - 指定者:
headMap
在接口SortedMap<K,
中V> - 参数:
toKey
- 返回map中键的高端点(不包括)- 返回:
-
此map的键严格小于
toKey
的部分的视图 - 抛出:
ClassCastException
- 如果toKey
与此map的比较器不兼容(或者,如果map没有比较器,如果toKey
未实现Comparable
)。如果无法将toKey
与当前map中的键进行比较,实现可能会(但不是必须)抛出此异常。NullPointerException
- 如果toKey
为空IllegalArgumentException
- 如果这个map本身有一个限制范围,并且toKey
位于范围的边界之外
-
tailMap
从接口NavigableMap
复制的描述返回此map的键大于或等于fromKey
的部分的视图。返回的map受此map支持,因此返回map中的更改会反映在此map中,反之亦然。返回的map支持此map支持的所有可选map操作。返回的映射将在尝试插入其范围之外的键时抛出
IllegalArgumentException
。相当于
tailMap(fromKey, true)
。- 指定者:
tailMap
在接口ConcurrentNavigableMap<K,
中V> - 指定者:
tailMap
在接口NavigableMap<K,
中V> - 指定者:
tailMap
在接口SortedMap<K,
中V> - 参数:
fromKey
- 返回map中键的低端点(包括)- 返回:
-
此map的键大于或等于
fromKey
的部分的视图 - 抛出:
ClassCastException
- 如果fromKey
与此map的比较器不兼容(或者,如果map没有比较器,如果fromKey
未实现Comparable
)。如果无法将fromKey
与当前map中的键进行比较,实现可能会(但不是必须)抛出此异常。NullPointerException
- 如果fromKey
为空IllegalArgumentException
- 如果这个map本身有一个限制范围,并且fromKey
位于范围的边界之外
-
lowerEntry
返回与严格小于给定键的最大键关联的键值映射,如果没有这样的键,则返回null
。返回的条目确实 not 支持Entry.setValue
方法。- 指定者:
lowerEntry
在接口NavigableMap<K,
中V> - 参数:
key
- 钥匙- 返回:
-
最大键小于
key
的条目,如果没有这样的键,则为null
- 抛出:
ClassCastException
- 如果无法将指定键与当前map中的键进行比较NullPointerException
- 如果指定的键为空
-
lowerKey
从接口NavigableMap
复制的描述返回严格小于给定键的最大键,如果没有这样的键,则返回null
。- 指定者:
lowerKey
在接口NavigableMap<K,
中V> - 参数:
key
- 钥匙- 返回:
-
小于
key
的最大密钥,如果没有这样的密钥,则为null
- 抛出:
ClassCastException
- 如果无法将指定键与当前map中的键进行比较NullPointerException
- 如果指定的键为空
-
floorEntry
返回与小于或等于给定键的最大键关联的键值映射,如果没有这样的键,则返回null
。返回的条目确实 not 支持Entry.setValue
方法。- 指定者:
floorEntry
在接口NavigableMap<K,
中V> - 参数:
key
- 钥匙- 返回:
-
最大键小于或等于
key
的条目,如果没有这样的键,则为null
- 抛出:
ClassCastException
- 如果无法将指定键与当前map中的键进行比较NullPointerException
- 如果指定的键为空
-
floorKey
从接口NavigableMap
复制的描述返回小于或等于给定键的最大键,如果没有这样的键,则返回null
。- 指定者:
floorKey
在接口NavigableMap<K,
中V> - 参数:
key
- 钥匙- 返回:
-
小于或等于
key
的最大键,如果没有这样的键,则为null
- 抛出:
ClassCastException
- 如果无法将指定键与当前map中的键进行比较NullPointerException
- 如果指定的键为空
-
ceilingEntry
返回与大于或等于给定键的最小键关联的键值映射,如果没有这样的条目,则返回null
。返回的条目确实 not 支持Entry.setValue
方法。- 指定者:
ceilingEntry
在接口NavigableMap<K,
中V> - 参数:
key
- 钥匙- 返回:
-
最小键大于或等于
key
的条目,如果没有这样的键,则为null
- 抛出:
ClassCastException
- 如果无法将指定键与当前map中的键进行比较NullPointerException
- 如果指定的键为空
-
ceilingKey
从接口NavigableMap
复制的描述返回大于或等于给定键的最小键,如果没有这样的键,则返回null
。- 指定者:
ceilingKey
在接口NavigableMap<K,
中V> - 参数:
key
- 钥匙- 返回:
-
大于或等于
key
的最小键,如果没有这样的键,则为null
- 抛出:
ClassCastException
- 如果无法将指定键与当前map中的键进行比较NullPointerException
- 如果指定的键为空
-
higherEntry
返回与严格大于给定键的最小键关联的键值映射,如果没有这样的键,则返回null
。返回的条目确实 not 支持Entry.setValue
方法。- 指定者:
higherEntry
在接口NavigableMap<K,
中V> - 参数:
key
- 钥匙- 返回:
-
最小键大于
key
的条目,如果没有这样的键,则为null
- 抛出:
ClassCastException
- 如果无法将指定键与当前map中的键进行比较NullPointerException
- 如果指定的键为空
-
higherKey
从接口NavigableMap
复制的描述返回严格大于给定键的最小键,如果没有这样的键,则返回null
。- 指定者:
higherKey
在接口NavigableMap<K,
中V> - 参数:
key
- 钥匙- 返回:
-
大于
key
的最小键,或者null
如果没有这样的键 - 抛出:
ClassCastException
- 如果无法将指定键与当前map中的键进行比较NullPointerException
- 如果指定的键为空
-
firstEntry
返回与此map中最少键关联的键值映射,如果map为空,则返回null
。返回的条目确实 not 支持Entry.setValue
方法。- 指定者:
firstEntry
在接口NavigableMap<K,
中V> - 返回:
-
具有最少键的条目,如果此map为空,则为
null
-
lastEntry
返回与此map中最大键关联的键值映射,如果map为空,则返回null
。返回的条目确实 not 支持Entry.setValue
方法。- 指定者:
lastEntry
在接口NavigableMap<K,
中V> - 返回:
-
具有最大键的条目,如果此map为空,则为
null
-
pollFirstEntry
删除并返回与此map中最小键关联的键值映射,如果map为空,则返回null
。返回的条目确实 not 支持Entry.setValue
方法。- 指定者:
pollFirstEntry
在接口NavigableMap<K,
中V> - 返回:
-
此map的已删除第一个条目,如果此map为空,则为
null
-
pollLastEntry
删除并返回与此map中最大键关联的键值映射,如果map为空,则返回null
。返回的条目确实 not 支持Entry.setValue
方法。- 指定者:
pollLastEntry
在接口NavigableMap<K,
中V> - 返回:
-
此map的已删除最后一个条目,如果此map为空,则为
null
-