K
-钥匙的Map保持型
V
-映射的值的类型
public class ConcurrentSkipListMap<K,V> extends AbstractMap<K,V> implements ConcurrentNavigableMap<K,V>, Cloneable, Serializable
ConcurrentNavigableMap
实施。Map是根据它的键的
natural ordering排序,或通过设置在Map创建时
Comparator
,取决于使用哪个构造函数。
这个类实现SkipLists提供预期的平均日志并发变异(N)的时间成本的containsKey
,get
,put
和remove
操作及其变体。插入、移除、更新和访问操作同时安全地执行多个线程。
迭代器和spliterators是weakly consistent。
上行关键点的观点和他们的迭代器的快比降。
对所有Map.Entry
返回这类及其观点方法代表快照映射在当时产生的。他们不支持Entry.setValue
方法。(注意,可以在相关的Map使用put
,改变映射putIfAbsent
,或replace
,取决于哪些你需要的效果。)
要小心的是,不像大多数集合的方法,size
不是常量时间的操作。由于这些映射的异步性质,确定当前元素的数量需要一个元素的遍历,如果这个集合在遍历过程中被修改,那么可能会报告不准确的结果。此外,大容量操作putAll
,equals
,toArray
,containsValue
,和clear
不保证是自动执行。例如,一个putAll
并发运行的操作一个迭代器可能会认为只有一些加入的元素。
这个类和它的观点和迭代器实现所有的可选方法的Map
和Iterator
接口。像大多数其他并发集合,这类不允许null
键或值的使用因为有些空返回值无法可靠区分元素的缺失。
这个班的一员 Java Collections Framework。
AbstractMap.SimpleEntry<K,V>, AbstractMap.SimpleImmutableEntry<K,V>
Constructor and Description |
---|
ConcurrentSkipListMap()
构建了一个新的、空的Map,根据键的
natural ordering排序。
|
ConcurrentSkipListMap(Comparator<? super K> comparator)
构造一个新的,空的映射,根据指定的比较器进行排序。
|
ConcurrentSkipListMap(Map<? extends K,? extends V> m)
构建了一个新的Map包含相同的映射为给定的Map,根据键的
natural ordering排序。
|
ConcurrentSkipListMap(SortedMap<K,? extends V> m)
构造一个包含相同映射的新映射,并使用指定的排序映射使用相同的排序。
|
Modifier and Type | Method and Description |
---|---|
Map.Entry<K,V> |
ceilingEntry(K key)
返回的键值映射与最关键的大于或等于给定的键,或
null 如果没有这样的入口。
|
K |
ceilingKey(K key)
最关键的收益大于或等于给定的键,或
null 如果没有这样的关键。
|
void |
clear()
从这个映射中移除所有的映射。
|
ConcurrentSkipListMap<K,V> |
clone()
返回该
ConcurrentSkipListMap 实例浅拷贝。
|
Comparator<? super K> |
comparator()
返回用于秩序在这个Map钥匙的比较器,或
null 如果这个Map使用其密钥的
natural ordering。
|
V |
compute(K key, BiFunction<? super K,? super V,? extends V> remappingFunction)
试图计算出指定键和当前的映射值的映射(或
null 如果没有当前映射)。
|
V |
computeIfAbsent(K key, Function<? super K,? extends V> mappingFunction)
如果指定的键是不是已经与一个值关联,试图使用给定的映射功能,进入到这个Map除非
null 计算其价值。
|
V |
computeIfPresent(K key, BiFunction<? super K,? super V,? extends V> remappingFunction)
如果指定键的值存在,则尝试计算给定键的一个新的映射和它当前的映射值。
|
boolean |
containsKey(Object key)
返回
true 如果这Map包含一个指定的键映射。
|
boolean |
containsValue(Object value)
返回
true 如果映射到指定的值的一个或多个键。
|
NavigableSet<K> |
descendingKeySet()
返回一个相反的顺序
NavigableSet 查看键包含在这个Map。
|
ConcurrentNavigableMap<K,V> |
descendingMap()
返回此映射中包含的映射的逆顺序视图。
|
Set<Map.Entry<K,V>> |
entrySet()
返回一个
Set 映射的视图包含在这个Map。
|
boolean |
equals(Object o)
将指定的对象与此映射的相等性进行比较。
|
Map.Entry<K,V> |
firstEntry()
返回一个与该图的最小密钥相关的键值映射,或
null 如果Map是空的。
|
K |
firstKey()
返回当前在该Map中的第一个(最低)键。
|
Map.Entry<K,V> |
floorEntry(K key)
返回的键值映射与最大的小于或等于给定的键,或
null 如果没有这样的关键。
|
K |
floorKey(K key)
返回最大关键小于或等于给定的键,或
null 如果没有这样的关键。
|
void |
forEach(BiConsumer<? super K,? super V> action)
在该映射中的每个条目执行给定的操作,直到所有的条目被处理或操作抛出异常。
|
V |
get(Object key)
返回指定的键映射的值,或
null 如果这个Map不包含的键映射。
|
V |
getOrDefault(Object key, V defaultValue)
返回指定的键映射的值,或指定默认值如果这个Map不包含的键映射。
|
ConcurrentNavigableMap<K,V> |
headMap(K toKey)
返回从这个Map的关键是严格小于
toKey 部分。
|
ConcurrentNavigableMap<K,V> |
headMap(K toKey, boolean inclusive)
返回从这个Map的关键是少部分(或相等,如果
inclusive 是真的)
toKey 。
|
Map.Entry<K,V> |
higherEntry(K key)
返回的键值映射与最关键严格大于给定的键,或
null 如果没有这样的关键。
|
K |
higherKey(K key)
返回最关键严格大于给定的键,或
null 如果没有这样的关键。
|
boolean |
isEmpty()
返回
true 如果这个Map不包含键值的映射。
|
NavigableSet<K> |
keySet()
返回一个
NavigableSet 查看键包含在这个Map。
|
Map.Entry<K,V> |
lastEntry()
返回一个与该Map的最大密钥相关的键值映射,或
null 如果Map是空的。
|
K |
lastKey()
返回当前在该Map中的最后(最高)键。
|
Map.Entry<K,V> |
lowerEntry(K key)
返回的键值映射与最大的关键严格小于给定的键,或
null 如果没有这样的关键。
|
K |
lowerKey(K key)
返回最大关键严格小于给定的键,或
null 如果没有这样的关键。
|
V |
merge(K key, V value, BiFunction<? super V,? super V,? extends V> remappingFunction)
如果指定的键已不与某个值关联,则将其与给定值关联。
|
NavigableSet<K> |
navigableKeySet()
返回一个
NavigableSet 的关键视图包含在这个Map。
|
Map.Entry<K,V> |
pollFirstEntry()
删除并返回一个与该图的最小密钥相关的键值映射,或
null 如果Map是空的。
|
Map.Entry<K,V> |
pollLastEntry()
删除并返回一个与该Map的最大密钥相关的键值映射,或
null 如果Map是空的。
|
V |
put(K key, V value)
将指定的值与此映射中的指定键关联。
|
V |
putIfAbsent(K key, V value)
如果指定的键已与一个值关联,则将其与给定值关联。
|
V |
remove(Object key)
如果存在的话,从这个映射中移除指定的键的映射。
|
boolean |
remove(Object key, Object value)
仅当当前映射到一个给定的值时,移除一个键的条目。
|
V |
replace(K key, V value)
仅当当前映射到某个值时,替换一个键的条目。
|
boolean |
replace(K key, V oldValue, V newValue)
仅当当前映射到一个给定值时,替换一个键的条目。
|
void |
replaceAll(BiFunction<? super K,? super V,? extends V> function)
将每个条目的值替换为在该项上调用给定函数的结果,直到所有的条目都被处理或函数抛出异常。
|
int |
size()
返回这个映射中的键值映射的数目。
|
ConcurrentNavigableMap<K,V> |
subMap(K fromKey, boolean fromInclusive, K toKey, boolean toInclusive)
返回从这个Map的键范围从
fromKey 到
toKey 部分。
|
ConcurrentNavigableMap<K,V> |
subMap(K fromKey, K toKey)
返回从这个Map的键范围从
fromKey ,包容的部分
toKey ,独家。
|
ConcurrentNavigableMap<K,V> |
tailMap(K fromKey)
返回从这个Map的关键是大于或等于
fromKey 部分。
|
ConcurrentNavigableMap<K,V> |
tailMap(K fromKey, boolean inclusive)
返回从这个Map的关键是大于(或等于部分,如果
inclusive 是真的)
fromKey 。
|
Collection<V> |
values()
返回一个
Collection 视图的值包含在这个Map。
|
hashCode, putAll, toString
public ConcurrentSkipListMap()
public ConcurrentSkipListMap(Comparator<? super K> comparator)
comparator
-比较器将用于订购这张Map。如果
null
,钥匙的
natural ordering将使用。
public ConcurrentSkipListMap(Map<? extends K,? extends V> m)
m
的映射被放置在这个Map的Map
m
ClassCastException
键并不
Comparable
,或互不可比
NullPointerException
-如果指定Map或其任何键或值无效
public ConcurrentSkipListMap(SortedMap<K,? extends V> m)
m
-排序图的映射是放在这张Map上,和其比较器是用来解决这个Map
NullPointerException
-如果指定的排序图或其任何键或值无效
public ConcurrentSkipListMap<K,V> clone()
ConcurrentSkipListMap
实例浅拷贝。(键和值本身没有被克隆。)
clone
方法重写,继承类
AbstractMap<K,V>
Cloneable
public boolean containsKey(Object key)
true
如果这Map包含一个指定的键映射。
containsKey
接口
Map<K,V>
containsKey
方法重写,继承类
AbstractMap<K,V>
key
键的存在,在这张Map上可以进行测试
true
如果这Map包含一个指定的键映射
ClassCastException
-如果指定的键不能与目前在Map的按键相比
NullPointerException
-如果指定的键是空的
public V get(Object key)
null
如果这个Map不包含的键映射。
更正式地说,如果这个图中包含了从关键k
到价值v
这样key
比较等于k
根据Map的排序,那么这个方法返回v
;否则返回null
。(最多可以有一个这样的映射。)
get
接口
Map<K,V>
get
方法重写,继承类
AbstractMap<K,V>
key
-关键的相关值被返回
null
如果这个Map不包含的键映射
ClassCastException
-如果指定的键不能与目前在Map的按键相比
NullPointerException
-如果指定的键是空的
public V getOrDefault(Object key, V defaultValue)
getOrDefault
接口
ConcurrentMap<K,V>
getOrDefault
接口
Map<K,V>
key
的关键
defaultValue
-如果这Map没有包含给定的键映射返回的值
NullPointerException
-如果指定的键是空的
public V put(K key, V value)
put
接口
Map<K,V>
put
方法重写,继承类
AbstractMap<K,V>
key
键与指定的值是相关联的
value
值必须与指定键关联
null
如果没有键映射
ClassCastException
-如果指定的键不能与目前在Map的按键相比
NullPointerException
-如果指定的键或值为空
public V remove(Object key)
remove
接口
Map<K,V>
remove
方法重写,继承类
AbstractMap<K,V>
key
键的映射应该被删除
null
如果没有键映射
ClassCastException
-如果指定的键不能与目前在Map的按键相比
NullPointerException
-如果指定的键是空的
public boolean containsValue(Object value)
true
如果映射到指定的值的一个或多个键。此操作需要在Map大小中的时间线性。此外,它是可能的Map在执行过程中的这种方法的变化,在这种情况下,返回的结果可能是不准确的。
containsValue
接口
Map<K,V>
containsValue
方法重写,继承类
AbstractMap<K,V>
value
-它的存在价值进行测试
true
如果映射到
value
存在;
false
否则
NullPointerException
-如果指定的值为空
public int size()
Integer.MAX_VALUE
元素,则返回
Integer.MAX_VALUE
。
请注意,与大多数集合不同,此方法不是一个常数时间操作。由于这些Map的异步性质,确定当前的元素的数量需要遍历他们所有来计算它们。此外,它是可能的大小在执行过程中的这种方法的变化,在这种情况下,返回的结果将是不准确的。因此,这种方法通常是不是非常有用的并发应用程序。
public boolean isEmpty()
true
如果这个Map不包含键值的映射。
public void clear()
public V computeIfAbsent(K key, Function<? super K,? extends V> mappingFunction)
null
计算其价值。功能不一定适用于一次原子只有价值是不存在的。
computeIfAbsent
接口
ConcurrentMap<K,V>
computeIfAbsent
接口
Map<K,V>
key
键与指定的值是相关联的
mappingFunction
的函数来计算一个值
NullPointerException
-如果指定的键是无效的或映射函数是空的
public V computeIfPresent(K key, BiFunction<? super K,? super V,? extends V> remappingFunction)
computeIfPresent
接口
ConcurrentMap<K,V>
computeIfPresent
接口
Map<K,V>
key
键的值可能是相关的
remappingFunction
的函数来计算一个值
NullPointerException
-如果指定的键是无效的或remappingfunction是空的
public V compute(K key, BiFunction<? super K,? super V,? extends V> remappingFunction)
null
如果没有当前映射)。功能不一定适用于一次原子。
compute
接口
ConcurrentMap<K,V>
compute
接口
Map<K,V>
key
键与指定的值是相关联的
remappingFunction
的函数来计算一个值
NullPointerException
-如果指定的键是无效的或remappingfunction是空的
public V merge(K key, V value, BiFunction<? super V,? super V,? extends V> remappingFunction)
null
。功能不一定适用于一次原子。
merge
接口
ConcurrentMap<K,V>
merge
接口
Map<K,V>
key
键与指定的值是相关联的
value
-使用价值
remappingFunction
-函数重新计算值如果存在
NullPointerException
-如果指定的键或值为空或remappingfunction是空的
public NavigableSet<K> keySet()
NavigableSet
的关键视图包含在这个Map。
该集合的迭代器以提升顺序返回键。设定的spliterator另外报道Spliterator.CONCURRENT
,Spliterator.NONNULL
,Spliterator.SORTED
和Spliterator.ORDERED
,一遇到秩序,提升关键点。的spliterator的比较器(见Spliterator.getComparator()
)是null
如果Map的比较(见comparator()
)是null
。否则,该spliterator的比较器相同或施加相同的总排序为Map的比较。
该集合是由Map的支持,所以对Map的变化反映在集合中,反之亦然。设置支持元素的去除,从Map中移除相应的映射,通过Iterator.remove
,Set.remove
,removeAll
,retainAll
,和clear
操作。它不支持add
或addAll
操作。
视图的迭代器和spliterators是weakly consistent。
这种方法是等效的方法navigableKeySet
。
public NavigableSet<K> navigableKeySet()
ConcurrentNavigableMap
NavigableSet
查看键包含在这个Map。该集合的迭代器以提升顺序返回键。该集合是由Map的支持,所以对Map的变化反映在集合中,反之亦然。设置支持元素的去除,从Map中移除相应的映射,通过
Iterator.remove
,
Set.remove
,
removeAll
,
retainAll
,和
clear
操作。它不支持
add
或
addAll
操作。
视图的迭代器和spliterators是weakly consistent。
navigableKeySet
接口
ConcurrentNavigableMap<K,V>
navigableKeySet
接口
NavigableMap<K,V>
public Collection<V> values()
Collection
视图的值包含在这个Map。
集合的迭代器返回相应键的上升顺序的值。集合的spliterator另外报道Spliterator.CONCURRENT
,Spliterator.NONNULL
和Spliterator.ORDERED
,一遇到秩序,提升相应的按键顺序。
集合是由Map支持的,所以对Map的变化反映在集合中,反之亦然。收集支持元素的去除,从Map中移除相应的映射,通过Iterator.remove
,Collection.remove
,removeAll
,retainAll
和clear
操作。它不支持add
或addAll
操作。
视图的迭代器和spliterators是weakly consistent。
public Set<Map.Entry<K,V>> entrySet()
Set
视图的映射包含在这个Map。
该集合的迭代器返回键顺序中的条目。设定的spliterator另外报道Spliterator.CONCURRENT
,Spliterator.NONNULL
,Spliterator.SORTED
和Spliterator.ORDERED
,一遇到秩序,提升关键点。
该集合是由Map的支持,所以对Map的变化反映在集合中,反之亦然。设置支持元素的去除,从Map中移除相应的映射,通过Iterator.remove
,Set.remove
,removeAll
,retainAll
和clear
操作。它不支持add
或addAll
操作。
视图的迭代器和spliterators是weakly consistent。
的Map.Entry
元素被iterator
或spliterator
不支持setValue
操作。
public ConcurrentNavigableMap<K,V> descendingMap()
ConcurrentNavigableMap
返回Map具有订购相当于Collections.reverseOrder
(comparator())
。表达m.descendingMap().descendingMap()
返回从m
本质上相当于m
。
descendingMap
接口
ConcurrentNavigableMap<K,V>
descendingMap
接口
NavigableMap<K,V>
public NavigableSet<K> descendingKeySet()
ConcurrentNavigableMap
NavigableSet
查看键包含在这个Map。该集合的迭代器以递减的顺序返回键。该集合是由Map的支持,所以对Map的变化反映在集合中,反之亦然。设置支持元素的去除,从Map中移除相应的映射,通过
Iterator.remove
,
Set.remove
,
removeAll
,
retainAll
,和
clear
操作。它不支持
add
或
addAll
操作。
视图的迭代器和spliterators是weakly consistent。
descendingKeySet
接口
ConcurrentNavigableMap<K,V>
descendingKeySet
接口
NavigableMap<K,V>
public boolean equals(Object o)
true
如果给定的对象也是一个Map和两图表示相同的映射。更正式地说,两个Map
m1
和
m2
表示相同的映射,如果
m1.entrySet().equals(m2.entrySet())
。此操作可能如果Map同时修改该方法的执行过程中返回错误的结果。
equals
接口
Map<K,V>
equals
方法重写,继承类
AbstractMap<K,V>
o
对象进行比较,这张Map的平等
true
指定对象是否等于这个Map
Object.hashCode()
,
HashMap
public V putIfAbsent(K key, V value)
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
-如果指定的键或值为空
public boolean remove(Object key, Object value)
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
-如果指定的键是空的
public boolean replace(K key, V oldValue, V newValue)
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
如果任一参数为空
public V replace(K key, V value)
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
-如果指定的键或值为空
public Comparator<? super K> comparator()
SortedMap
null
如果这个Map使用其密钥的
natural ordering。
comparator
接口
SortedMap<K,V>
null
如果这个Map使用的键的自然顺序
public K firstKey()
SortedMap
firstKey
接口
SortedMap<K,V>
NoSuchElementException
-如果这Map是空的
public K lastKey()
SortedMap
lastKey
接口
SortedMap<K,V>
NoSuchElementException
-如果这Map是空的
public ConcurrentNavigableMap<K,V> subMap(K fromKey, boolean fromInclusive, K toKey, boolean toInclusive)
NavigableMap
fromKey
到
toKey
部分。如果
fromKey
和
toKey
相等,返回Map是空的,除非
fromInclusive
toInclusive
都是真实的。返回的Map是由这张Map的支持,所以在返回的Map的变化反映在这张Map上,反之亦然。返回的Map支持这张Map支持的所有可选的Map操作。
返回的Map将把企图把钥匙插在它的范围之外的一个IllegalArgumentException
,或构建一个区块是其端点超出其范围。
subMap
接口
ConcurrentNavigableMap<K,V>
subMap
接口
NavigableMap<K,V>
fromKey
-返回Map的关键端点低
fromInclusive
-
true
如果低的终点是被包含在返回的视图
toKey
-返回Map的关键点
toInclusive
-
true
如果高终点是被包含在返回的视图
fromKey
到
toKey
部分
ClassCastException
-如果
fromKey
和
toKey
不能与另一个使用这个Map的比较器(或者,如果Map没有比较器,采用自然排序)。实现可能,但不是必需的,如果
fromKey
或
toKey
不能相比,目前在Map键抛出该异常。
NullPointerException
-如果
fromKey
或
toKey
是空的
IllegalArgumentException
-如果
fromKey
大于
toKey
;或者如果这Map本身有一个限制的范围内,和
fromKey
或
toKey
超出范围的界限
public ConcurrentNavigableMap<K,V> headMap(K toKey, boolean inclusive)
NavigableMap
inclusive
是真的)
toKey
。返回的Map是由这张Map的支持,所以在返回的Map的变化反映在这张Map上,反之亦然。返回的Map支持这张Map支持的所有可选的Map操作。
返回的Map将把企图把钥匙插在其范围内的IllegalArgumentException
。
headMap
接口
ConcurrentNavigableMap<K,V>
headMap
接口
NavigableMap<K,V>
toKey
-返回Map的关键点
inclusive
-
true
如果高终点是被包含在返回的视图
inclusive
是真的)
toKey
ClassCastException
-如果
toKey
不是这个Map的比较器兼容的(或者,如果Map没有比较,如果
toKey
不实现
Comparable
)。实现可能,但不是必需的,如果
toKey
不能相比,目前在Map键抛出该异常。
NullPointerException
-如果
toKey
是空的
IllegalArgumentException
-如果这Map本身有一个限制的范围内,和
toKey
超出范围的界限
public ConcurrentNavigableMap<K,V> tailMap(K fromKey, boolean inclusive)
NavigableMap
inclusive
是真的)
fromKey
。返回的Map是由这张Map的支持,所以在返回的Map的变化反映在这张Map上,反之亦然。返回的Map支持这张Map支持的所有可选的Map操作。
返回的Map将把企图把钥匙插在其范围内的IllegalArgumentException
。
tailMap
接口
ConcurrentNavigableMap<K,V>
tailMap
接口
NavigableMap<K,V>
fromKey
-返回Map的关键端点低
inclusive
-
true
如果低的终点是被包含在返回的视图
inclusive
是真的)
fromKey
ClassCastException
-如果
fromKey
不是这个Map的比较器兼容的(或者,如果Map没有比较,如果
fromKey
不实现
Comparable
)。实现可能,但不是必需的,如果
fromKey
不能相比,目前在Map键抛出该异常。
NullPointerException
-如果
fromKey
是空的
IllegalArgumentException
-如果这Map本身有一个限制的范围内,和
fromKey
超出范围的界限
public ConcurrentNavigableMap<K,V> subMap(K fromKey, K toKey)
NavigableMap
fromKey
,包容的部分
toKey
,独家。(如果
fromKey
和
toKey
相等,返回Map是空的。)返回的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
低端点(含)返回的映射中的键
toKey
高端点(独家)返回的映射中的键
fromKey
,包容的部分
toKey
,独家
ClassCastException
-如果
fromKey
和
toKey
不能与另一个使用这个Map的比较器(或者,如果Map没有比较器,采用自然排序)。实现可能,但不是必需的,如果
fromKey
或
toKey
不能相比,目前在Map键抛出该异常。
NullPointerException
-如果
fromKey
或
toKey
是空的
IllegalArgumentException
-如果
fromKey
大于
toKey
;或者如果这Map本身有一个限制的范围内,和
fromKey
或
toKey
超出范围的界限
public ConcurrentNavigableMap<K,V> headMap(K toKey)
NavigableMap
toKey
部分。返回的Map是由这张Map的支持,所以在返回的Map的变化反映在这张Map上,反之亦然。返回的Map支持这张Map支持的所有可选的Map操作。
返回的Map将把企图把钥匙插在其范围内的IllegalArgumentException
。
相当于headMap(toKey, false)
。
headMap
接口
ConcurrentNavigableMap<K,V>
headMap
接口
NavigableMap<K,V>
headMap
接口
SortedMap<K,V>
toKey
高端点(独家)返回的映射中的键
toKey
部分
ClassCastException
-如果
toKey
不是这个Map的比较器兼容的(或者,如果Map没有比较,如果
toKey
不实现
Comparable
)。实现可能,但不是必需的,如果
toKey
不能相比,目前在Map键抛出该异常。
NullPointerException
-如果
toKey
是空的
IllegalArgumentException
-如果这Map本身有一个限制的范围内,和
toKey
超出范围的界限
public ConcurrentNavigableMap<K,V> tailMap(K fromKey)
NavigableMap
fromKey
部分。返回的Map是由这张Map的支持,所以在返回的Map的变化反映在这张Map上,反之亦然。返回的Map支持这张Map支持的所有可选的Map操作。
返回的Map将把企图把钥匙插在其范围内的IllegalArgumentException
。
相当于tailMap(fromKey, true)
。
tailMap
接口
ConcurrentNavigableMap<K,V>
tailMap
接口
NavigableMap<K,V>
tailMap
接口
SortedMap<K,V>
fromKey
低端点(含)返回的映射中的键
fromKey
部分
ClassCastException
-如果
fromKey
不是这个Map的比较器兼容的(或者,如果Map没有比较,如果
fromKey
不实现
Comparable
)。实现可能,但不是必需的,如果
fromKey
不能相比,目前在Map键抛出该异常。
NullPointerException
-如果
fromKey
是空的
IllegalArgumentException
-如果这Map本身有一个限制的范围内,和
fromKey
超出范围的界限
public Map.Entry<K,V> lowerEntry(K key)
null
如果没有这样的关键。返回项不支持
Entry.setValue
方法。
lowerEntry
接口
NavigableMap<K,V>
key
的关键
key
入境,或
null
如果没有这样的关键
ClassCastException
-如果指定的键不能与目前在Map的按键相比
NullPointerException
-如果指定的键是空的
public K lowerKey(K key)
NavigableMap
null
如果没有这样的关键。
lowerKey
接口
NavigableMap<K,V>
key
的关键
key
,或
null
如果没有这样的关键
ClassCastException
-如果指定的键不能与目前在Map的按键相比
NullPointerException
-如果指定的键是空的
public Map.Entry<K,V> floorEntry(K key)
null
如果没有这样的关键。返回项不支持
Entry.setValue
方法。
floorEntry
接口
NavigableMap<K,V>
key
的关键
key
入境,或
null
如果没有这样的关键
ClassCastException
-如果指定的键不能与目前在Map的按键相比
NullPointerException
-如果指定的键是空的
public K floorKey(K key)
NavigableMap
null
如果没有这样的关键。
floorKey
接口
NavigableMap<K,V>
key
的关键
key
,或
null
如果没有这样的关键
ClassCastException
-如果指定的键不能与目前在Map的按键相比
NullPointerException
-如果指定的键是空的
public Map.Entry<K,V> ceilingEntry(K key)
null
如果没有这样的入口。返回项不支持
Entry.setValue
方法。
ceilingEntry
接口
NavigableMap<K,V>
key
的关键
key
最关键的条目,或
null
如果没有这样的关键
ClassCastException
-如果指定的键不能与目前在Map的按键相比
NullPointerException
-如果指定的键是空的
public K ceilingKey(K key)
NavigableMap
null
如果没有这样的关键。
ceilingKey
接口
NavigableMap<K,V>
key
的关键
key
最关键,或
null
如果没有这样的关键
ClassCastException
-如果指定的键不能与目前在Map的按键相比
NullPointerException
-如果指定的键是空的
public Map.Entry<K,V> higherEntry(K key)
null
如果没有这样的关键。返回项不支持
Entry.setValue
方法。
higherEntry
接口
NavigableMap<K,V>
key
的关键
key
最关键的条目,或
null
如果没有这样的关键
ClassCastException
-如果指定的键不能与目前在Map的按键相比
NullPointerException
-如果指定的键是空的
public K higherKey(K key)
NavigableMap
null
如果没有这样的关键。
higherKey
接口
NavigableMap<K,V>
key
的关键
key
最关键,或
null
如果没有这样的关键
ClassCastException
-如果指定的键不能与目前在Map的按键相比
NullPointerException
-如果指定的键是空的
public Map.Entry<K,V> firstEntry()
null
如果Map是空的。返回项不支持
Entry.setValue
方法。
firstEntry
接口
NavigableMap<K,V>
null
如果这个Map是空的
public Map.Entry<K,V> lastEntry()
null
如果Map是空的。返回项不支持
Entry.setValue
方法。
lastEntry
接口
NavigableMap<K,V>
null
如果这个Map是空的
public Map.Entry<K,V> pollFirstEntry()
null
如果Map是空的。返回项不支持
Entry.setValue
方法。
pollFirstEntry
接口
NavigableMap<K,V>
null
如果这个Map是空的
public Map.Entry<K,V> pollLastEntry()
null
如果Map是空的。返回项不支持
Entry.setValue
方法。
pollLastEntry
接口
NavigableMap<K,V>
null
如果这个Map是空的
public void forEach(BiConsumer<? super K,? super V> action)
ConcurrentMap
public void replaceAll(BiFunction<? super K,? super V,? extends V> function)
ConcurrentMap
replaceAll
接口
ConcurrentMap<K,V>
replaceAll
接口
Map<K,V>
function
-功能适用于每一个条目
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.