- java.lang.Object
-
- java.util.AbstractMap<K,V>
-
- java.util.concurrent.ConcurrentSkipListMap<K,V>
-
- 参数类型
-
K- 此映射维护的密钥类型 -
V- 映射值的类型
- 实现的所有接口
-
Serializable,Cloneable,ConcurrentMap<K,V>,ConcurrentNavigableMap<K,V>,Map<K,V>,NavigableMap<K,V>,SortedMap<K,V>
public class ConcurrentSkipListMap<K,V> extends AbstractMap<K,V> implements ConcurrentNavigableMap<K,V>, Cloneable, Serializable
可扩展的并发ConcurrentNavigableMap实现。 该地图是根据排序natural ordering其密钥,或通过Comparator在地图创建时提供,这取决于所使用的构造方法。这个类实现的并发变种SkipLists提供预期平均log(n)的时间成本,为
containsKey,get,put和remove操作及其变体。 插入,删除,更新和访问操作由多个线程安全地同时执行。迭代器和分裂器是weakly consistent 。
升序键有序视图及其迭代器比降序视图快。
Map.Entry的方法返回的所有Map.Entry对及其视图表示生成时映射的快照。 他们不支持Entry.setValue方法。 (不过要注意的是可以利用改变相关的地图映射put,putIfAbsent,或replace,取决于你到底需要哪些效果。)要注意的是批量操作
putAll,equals,toArray,containsValue,和clear不能保证以原子方式执行的。 例如,与putAll操作同时运行的迭代器可能只查看一些添加的元素。此类及其视图和迭代器实现了
Map和Iterator接口的所有可选方法。 与大多数其他并发集合,这个类不允许使用null键或值,因为有些空返回值不能从存在的元素的可靠地区分。此类是Java Collections Framework的成员。
- 从以下版本开始:
- 1.6
- 另请参见:
- Serialized Form
-
-
嵌套类汇总
-
嵌套类/接口声明在类 java.util.AbstractMap
AbstractMap.SimpleEntry<K,V>, AbstractMap.SimpleImmutableEntry<K,V>
-
-
构造方法摘要
构造方法 构造器 描述 ConcurrentSkipListMap()构造一个新的空映射,根据键的natural ordering进行排序。ConcurrentSkipListMap(Comparator<? super K> comparator)构造一个新的空映射,根据指定的比较器进行排序。ConcurrentSkipListMap(Map<? extends K,? extends V> m)构造一个包含与给定映射相同映射的新映射,并根据键的natural ordering进行排序。ConcurrentSkipListMap(SortedMap<K,? extends V> m)构造一个包含相同映射的新映射,并使用与指定有序映射相同的顺序。
-
方法摘要
所有方法 实例方法 具体的方法 变量和类型 方法 描述 Map.Entry<K,V>ceilingEntry(K key)返回与大于或等于给定键的最小键关联的键 - 值映射,如果没有此类条目,则null。KceilingKey(K key)返回大于或等于给定键的null键,如果没有这样的键,则null。voidclear()从此映射中删除所有映射。ConcurrentSkipListMap<K,V>clone()返回此ConcurrentSkipListMap实例的浅表副本。Vcompute(K key, BiFunction<? super K,? super V,? extends V> remappingFunction)尝试计算指定键及其当前映射值的映射(如果没有当前映射,null)。VcomputeIfAbsent(K key, Function<? super K,? extends V> mappingFunction)如果指定的键尚未与值关联,则尝试使用给定的映射函数计算其值,并将其输入此映射,除非null。VcomputeIfPresent(K key, BiFunction<? super K,? super V,? extends V> remappingFunction)如果存在指定键的值,则尝试在给定键及其当前映射值的情况下计算新映射。booleancontainsKey(Object key)如果此映射包含指定键的映射,则返回true。booleancontainsValue(Object value)如果此映射将一个或多个键映射到指定值,则返回true。Set<Map.Entry<K,V>>entrySet()返回此映射中包含的映射的Set视图。booleanequals(Object o)将指定对象与此映射进行比较以获得相等性。Map.Entry<K,V>firstEntry()返回与此映射中的最小键关联的键 - 值映射,如果映射为空,则null。KfirstKey()返回此映射中当前的第一个(最低)键。Map.Entry<K,V>floorEntry(K key)返回与小于或等于给定键的最大键关联的键 - 值映射,如果没有此键,则null。KfloorKey(K key)返回小于或等于给定键的最大键,如果没有这样的键,则null。Vget(Object key)返回指定键映射到的值,如果此映射不包含键的映射,则返回null。VgetOrDefault(Object key, V defaultValue)返回指定键映射到的值,如果此映射不包含键的映射,则返回给定的defaultValue。ConcurrentNavigableMap<K,V>headMap(K toKey)返回此映射部分的视图,其键严格小于toKey。ConcurrentNavigableMap<K,V>headMap(K toKey, boolean inclusive)返回此映射的部分视图,其键小于(或等于,如果inclusive为真)toKey。Map.Entry<K,V>higherEntry(K key)返回与严格大于给定键的最小键关联的键 - 值映射,如果没有此键,则null。KhigherKey(K key)返回严格大于给定键的最小键,如果没有这样的键,则返回null。NavigableSet<K>keySet()返回此映射中包含的键的NavigableSet视图。Map.Entry<K,V>lastEntry()返回与此映射中的最大键关联的键 - 值映射,如果映射为空,则null。KlastKey()返回此映射中当前的最后一个(最高)键。Map.Entry<K,V>lowerEntry(K key)返回与严格小于给定键的最大键相关联的键 - 值映射,如果没有这样的键,则null。KlowerKey(K key)返回严格小于给定键的最大键,如果没有这样键,则返回null。Vmerge(K key, V value, BiFunction<? super V,? super V,? extends V> remappingFunction)如果指定的键尚未与值关联,请将其与给定值相关联。Map.Entry<K,V>pollFirstEntry()删除并返回与此映射中的最小键关联的键 - 值映射,如果映射为空,则null。Map.Entry<K,V>pollLastEntry()删除并返回与此地图中最大键关联的键值映射,如果地图为空,则null。Vput(K key, V value)将指定的值与此映射中的指定键相关联。VputIfAbsent(K key, V value)如果指定的键尚未与值关联,请将其与给定值相关联。Vremove(Object key)从此映射中删除指定键的映射(如果存在)。booleanremove(Object key, Object value)仅当前映射到给定值时才删除键的条目。Vreplace(K key, V value)仅当前映射到某个值时才替换键的条目。booleanreplace(K key, V oldValue, V newValue)仅当前映射到给定值时才替换键的条目。ConcurrentNavigableMap<K,V>subMap(K fromKey, boolean fromInclusive, K toKey, boolean toInclusive)返回此映射部分的视图,其键的范围为fromKey到toKey。ConcurrentNavigableMap<K,V>subMap(K fromKey, K toKey)返回此映射部分的视图,其键的范围从fromKey(包括)到toKey(不包括)。ConcurrentNavigableMap<K,V>tailMap(K fromKey)返回此映射的部分视图,其键大于或等于fromKey。ConcurrentNavigableMap<K,V>tailMap(K fromKey, boolean inclusive)返回此映射的部分视图,其键大于(或等于,如果inclusive为真)fromKey。Collection<V>values()返回此映射中包含的值的Collection视图。-
声明方法的接口 java.util.concurrent.ConcurrentMap
forEach, replaceAll
-
声明方法的接口 java.util.concurrent.ConcurrentNavigableMap
descendingKeySet, descendingMap, navigableKeySet
-
声明方法的接口 java.util.SortedMap
comparator
-
-
-
-
构造方法详细信息
-
ConcurrentSkipListMap
public ConcurrentSkipListMap()
构造一个新的空映射,根据键的natural ordering进行排序。
-
ConcurrentSkipListMap
public ConcurrentSkipListMap(Comparator<? super K> comparator)
构造一个新的空映射,根据指定的比较器进行排序。- 参数
-
comparator- 将用于订购此地图的比较器。 如果null,将使用natural ordering的密钥。
-
ConcurrentSkipListMap
public ConcurrentSkipListMap(Map<? extends K,? extends V> m)
构造一个包含与给定映射相同映射的新映射,并根据键的natural ordering进行排序。- 参数
-
m-m映射放在此映射中的映射 - 异常
-
ClassCastException- 如果m中的密钥不是Comparable,或者不可相互比较 -
NullPointerException- 如果指定的映射或其任何键或值为null
-
ConcurrentSkipListMap
public ConcurrentSkipListMap(SortedMap<K,? extends V> m)
构造一个包含相同映射的新映射,并使用与指定有序映射相同的顺序。- 参数
-
m- 已映射的映射,其映射将放置在此映射中,其比较器将用于对此映射进行排序 - 异常
-
NullPointerException- 如果指定的有序映射或其任何键或值为null
-
-
方法详细信息
-
clone
public ConcurrentSkipListMap<K,V> clone()
返回此ConcurrentSkipListMap实例的浅表副本。 (键和值本身不会被克隆。)- 重写:
-
clone类AbstractMap<K,V> - 结果
- 这张地图的浅表副本
- 另请参见:
-
Cloneable
-
containsKey
public boolean containsKey(Object key)
如果此映射包含指定键的映射,则返回true。- Specified by:
-
containsKey在界面Map<K,V> - 重写:
-
containsKey在AbstractMap<K,V>类 - 参数
-
key- 要测试其在此地图中的存在的密钥 - 结果
-
true如果此映射包含指定键的映射 - 异常
-
ClassCastException- 如果指定的键无法与地图中当前的键进行比较 -
NullPointerException- 如果指定的键为空
-
get
public V get(Object key)
返回指定键映射到的值,如果此映射不包含键的映射,则返回null。更正式地,如果此映射包含从密钥映射
k为一个值v使得key比较等于k根据地图的排序,则此方法返回v; 否则返回null。 (最多可以有一个这样的映射。)- Specified by:
-
get在界面Map<K,V> - 重写:
-
get在AbstractMap<K,V>类 - 参数
-
key- 要返回其关联值的密钥 - 结果
-
指定键映射到的值,如果此映射不包含键的映射,
null - 异常
-
ClassCastException- 如果指定的键无法与地图中当前的键进行比较 -
NullPointerException- 如果指定的键为空
-
getOrDefault
public V getOrDefault(Object key, V defaultValue)
返回指定键映射到的值,如果此映射不包含键的映射,则返回给定的defaultValue。- Specified by:
-
getOrDefault,界面ConcurrentMap<K,V> - Specified by:
-
getOrDefault接口Map<K,V> - 参数
-
key- 关键 -
defaultValue- 如果此映射不包含给定键的映射,则返回的值 - 结果
- 密钥的映射(如果存在); 否则是defaultValue
- 异常
-
NullPointerException- 如果指定的键为空 - 从以下版本开始:
- 1.8
-
put
public V put(K key, V value)
将指定的值与此映射中的指定键相关联。 如果映射先前包含键的映射,则替换旧值。- Specified by:
-
put,界面Map<K,V> - 重写:
-
put类AbstractMap<K,V> - 参数
-
key- 与指定值关联的键 -
value- 与指定键关联的值 - 结果
-
与指定键关联的先前值,如果没有键的映射,
null - 异常
-
ClassCastException- 如果指定的密钥无法与地图中当前的密钥进行比较 -
NullPointerException- 如果指定的键或值为null
-
remove
public V remove(Object key)
从此映射中删除指定键的映射(如果存在)。- Specified by:
-
remove接口Map<K,V> - 重写:
-
remove类AbstractMap<K,V> - 参数
-
key- 应删除映射的键 - 结果
-
与指定键关联的先前值,如果没有键的映射,
null - 异常
-
ClassCastException- 如果指定的密钥无法与地图中当前的密钥进行比较 -
NullPointerException- 如果指定的键为空
-
containsValue
public boolean containsValue(Object value)
如果此映射将一个或多个键映射到指定值,则返回true。 此操作需要地图大小的线性时间。 另外,在执行该方法期间地图可能会改变,在这种情况下返回的结果可能是不准确的。- Specified by:
-
containsValue在界面Map<K,V> - 重写:
-
containsValue在类AbstractMap<K,V> - 参数
-
value- 要测试其在此地图中的存在的值 - 结果
-
true若存在映射到value; 否则为false - 异常
-
NullPointerException- 如果指定的值为null
-
clear
public void clear()
从此映射中删除所有映射。
-
computeIfAbsent
public V computeIfAbsent(K key, Function<? super K,? extends V> mappingFunction)
如果指定的键尚未与值关联,则尝试使用给定的映射函数计算其值,并将其输入此映射,除非null。 该函数不保证一旦原子仅当值不存在施加。- Specified by:
-
computeIfAbsent在界面ConcurrentMap<K,V> - Specified by:
-
computeIfAbsent在接口Map<K,V> - 参数
-
key- 与指定值关联的键 -
mappingFunction- 计算值的函数 - 结果
- 与指定键关联的当前(现有或已计算)值,如果计算值为null,则为null
- 异常
-
NullPointerException- 如果指定的键为null或者mappingFunction为null - 从以下版本开始:
- 1.8
-
computeIfPresent
public V computeIfPresent(K key, BiFunction<? super K,? super V,? extends V> remappingFunction)
如果存在指定键的值,则尝试在给定键及其当前映射值的情况下计算新映射。 该函数不保证以原子方式应用。- Specified by:
-
computeIfPresent在界面ConcurrentMap<K,V> - Specified by:
-
computeIfPresent在界面Map<K,V> - 参数
-
key- 与值关联的键 -
remappingFunction- 计算值的函数 - 结果
- 与指定键关联的新值,如果没有,则返回null
- 异常
-
NullPointerException- 如果指定的键为null或者NullPointerException为null - 从以下版本开始:
- 1.8
-
compute
public V compute(K key, BiFunction<? super K,? super V,? extends V> remappingFunction)
尝试计算指定键及其当前映射值的映射(如果没有当前映射,null)。 该函数不保证以原子方式应用。- Specified by:
-
compute在界面ConcurrentMap<K,V> - Specified by:
-
compute在界面Map<K,V> - 参数
-
key- 与指定值关联的键 -
remappingFunction- 计算值的函数 - 结果
- 与指定键关联的新值,如果没有,则返回null
- 异常
-
NullPointerException- 如果指定的键为null或者NullPointerException为null - 从以下版本开始:
- 1.8
-
merge
public V merge(K key, V value, BiFunction<? super V,? super V,? extends V> remappingFunction)
如果指定的键尚未与值关联,请将其与给定值相关联。 否则,将值替换为给定重映射函数的结果,或者如果null则null。 该函数不保证以原子方式应用。- Specified by:
-
merge,界面ConcurrentMap<K,V> - Specified by:
-
merge在界面Map<K,V> - 参数
-
key- 与指定值关联的键 -
value- 缺席时使用的值 -
remappingFunction- 重新计算值的函数(如果存在) - 结果
- 与指定键关联的新值,如果没有,则返回null
- 异常
-
NullPointerException- 如果指定的键或值为null或者NullPointerException为null - 从以下版本开始:
- 1.8
-
keySet
public NavigableSet<K> keySet()
返回此映射中包含的键的NavigableSet视图。set的迭代器按升序返回键。 该集的spliterator另外报告
Spliterator.CONCURRENT,Spliterator.NONNULL,Spliterator.SORTED和Spliterator.ORDERED,与被按键的升序的顺序相遇。如果map's comparator是
null则spliterator's comparator是null。 否则,分裂器的比较器与地图的比较器相同或强加相同的总排序。该集由地图支持,因此对地图的更改将反映在集中,反之亦然。 该组支持元件移除,即从映射中相应的映射,经由
Iterator.remove,Set.remove,removeAll,retainAll,和clear操作。 它不支持add或addAll操作。视图的迭代器和分裂器是weakly consistent 。
该方法等同于方法
navigableKeySet。
-
values
public Collection<V> values()
返回此映射中包含的值的Collection视图。集合的迭代器以相应键的升序返回值。 藏品的spliterator另外报告
Spliterator.CONCURRENT,Spliterator.NONNULL和Spliterator.ORDERED,与正在提升相应的按键顺序的遭遇订单。该集合由地图支持,因此对地图的更改将反映在集合中,反之亦然。 该collection支持元素移除,即从映射中相应的映射,经由
Iterator.remove,Collection.remove,removeAll,retainAll和clear操作。 它不支持add或addAll操作。视图的迭代器和分裂器是weakly consistent 。
-
entrySet
public Set<Map.Entry<K,V>> entrySet()
返回此映射中包含的映射的Set视图。set的迭代器以升序键顺序返回条目。 该集的spliterator另外报告
Spliterator.CONCURRENT,Spliterator.NONNULL,Spliterator.SORTED和Spliterator.ORDERED,与被按键的升序的顺序相遇。该集由地图支持,因此对地图的更改将反映在集中,反之亦然。 该组支持元件移除,即从映射中相应的映射,经由
Iterator.remove,Set.remove,removeAll,retainAll和clear操作。 它不支持add或addAll操作。视图的迭代器和分裂器是weakly consistent 。
iterator或spliterator遍历的Map.Entry元素不支持setValue操作。
-
equals
public boolean equals(Object o)
将指定对象与此映射进行比较以获得相等性。 如果给定对象也是一个映射,并且两个映射表示相同的映射,则返回true。 更正式地说,如果m1.entrySet().equals(m2.entrySet()),则两个映射m1和m2表示相同的映射。 如果在执行此方法期间同时修改了任一映射,则此操作可能会返回误导性结果。- Specified by:
-
equalsin interfaceMap<K,V> - 重写:
-
equals类AbstractMap<K,V> - 参数
-
o- 要与此映射进行相等性比较的对象 - 结果
-
true如果指定的对象等于此映射 - 另请参见:
-
Object.hashCode(),HashMap
-
putIfAbsent
public V putIfAbsent(K key, V value)
如果指定的键尚未与值关联,请将其与给定值相关联。 对于这个map,这map:除了动作以原子方式执行。if (!map.containsKey(key)) return map.put(key, value); else return map.get(key);- Specified by:
-
putIfAbsentin interfaceConcurrentMap<K,V> - Specified by:
-
putIfAbsentin interfaceMap<K,V> - 参数
-
key- 与指定值关联的键 -
value- 与指定键关联的值 - 结果
-
与指定键关联的先前值,如果没有键的映射,
null - 异常
-
ClassCastException- 如果指定的键无法与地图中当前的键进行比较 -
NullPointerException- 如果指定的键或值为null
-
remove
public boolean remove(Object key, Object value)
仅当前映射到给定值时才删除键的条目。 对于这个map,这map:除了动作以原子方式执行。if (map.containsKey(key) && Objects.equals(map.get(key), value)) { map.remove(key); return true; } else { return false; }- Specified by:
-
remove在界面ConcurrentMap<K,V> - Specified by:
-
remove在界面Map<K,V> - 参数
-
key- 与指定值关联的键 -
value- 期望与指定密钥关联的值 - 结果
-
true如果值已被删除 - 异常
-
ClassCastException- 如果指定的键无法与地图中当前的键进行比较 -
NullPointerException- 如果指定的键为空
-
replace
public boolean replace(K key, V oldValue, V newValue)
仅当前映射到给定值时才替换键的条目。 对于这个map,这map:除了动作以原子方式执行。if (map.containsKey(key) && Objects.equals(map.get(key), oldValue)) { map.put(key, newValue); return true; } else { return false; }- Specified by:
-
replace在界面ConcurrentMap<K,V> - Specified by:
-
replace在界面Map<K,V> - 参数
-
key- 与指定值关联的键 -
oldValue- 期望与指定密钥关联的值 -
newValue- 与指定键关联的值 - 结果
-
true如果值已被替换 - 异常
-
ClassCastException- 如果指定的键无法与地图中当前的键进行比较 -
NullPointerException- 如果任何参数为null
-
replace
public V replace(K key, V value)
仅当前映射到某个值时才替换键的条目。 对于这个map,这map:除了动作以原子方式执行。if (map.containsKey(key)) return map.put(key, value); else return null;- Specified by:
-
replace在界面ConcurrentMap<K,V> - Specified by:
-
replace在界面Map<K,V> - 参数
-
key- 与指定值关联的键 -
value- 与指定键关联的值 - 结果
-
与指定键关联的先前值,如果没有键的映射,
null - 异常
-
ClassCastException- 如果指定的密钥无法与地图中当前的密钥进行比较 -
NullPointerException- 如果指定的键或值为null
-
firstKey
public K firstKey()
从界面复制的说明:SortedMap返回此映射中当前的第一个(最低)键。- Specified by:
-
firstKey在界面SortedMap<K,V> - 结果
- 当前在此地图中的第一个(最低)键
- 异常
-
NoSuchElementException- 如果此地图为空
-
lastKey
public K lastKey()
从界面复制的说明:SortedMap返回此映射中当前的最后一个(最高)键。- Specified by:
-
lastKey在界面SortedMap<K,V> - 结果
- 当前在此地图中的最后一个(最高)键
- 异常
-
NoSuchElementException- 如果此地图为空
-
subMap
public ConcurrentNavigableMap<K,V> subMap(K fromKey, boolean fromInclusive, K toKey, boolean toInclusive)
从界面复制的说明:NavigableMap返回此映射部分的视图,其键的范围为fromKey到toKey。 如果fromKey和toKey相等,则返回的映射为空,除非fromInclusive和toInclusive都为真。 返回的地图由此地图支持,因此返回的地图中的更改将反映在此地图中,反之亦然。 返回的地图支持此地图支持的所有可选地图操作。返回的映射将尝试在其范围之外插入键,或者构造其端点位于其范围之外的子映射时抛出
IllegalArgumentException。- Specified by:
-
subMap在界面ConcurrentNavigableMap<K,V> - Specified by:
-
subMap在接口NavigableMap<K,V> - 参数
-
fromKey- 返回映射中键的低端点 -
fromInclusive-true如果true低端点包含在返回的视图中 -
toKey- 返回映射中键的高端点 -
toInclusive-true如果true高端点包含在返回的视图中 - 结果
-
此地图部分的视图,其键范围为
fromKey至toKey - 异常
-
ClassCastException- 如果fromKey和toKey无法使用此映射的比较器相互比较(或者,如果映射没有比较器,则使用自然顺序)。 如果fromKey或toKey无法与地图中当前的键进行比较,则实现可能(但不是必须)抛出此异常。 -
NullPointerException- 如果fromKey或toKey为空 -
IllegalArgumentException- 如果fromKey大于toKey; 或者如果此地图本身具有受限范围,则fromKey或toKey位于范围的范围之外
-
headMap
public ConcurrentNavigableMap<K,V> headMap(K toKey, boolean inclusive)
从界面复制的说明:NavigableMap返回此映射的部分视图,其键小于(或等于,如果inclusive为真)toKey。 返回的地图由此地图支持,因此返回的地图中的更改将反映在此地图中,反之亦然。 返回的地图支持此地图支持的所有可选地图操作。返回的地图将尝试在其范围之外插入一个键时抛出
IllegalArgumentException。- Specified by:
-
headMap在界面ConcurrentNavigableMap<K,V> - Specified by:
-
headMap在界面NavigableMap<K,V> - 参数
-
toKey- 返回映射中键的高端点 -
inclusive-true如果true高端点包含在返回的视图中 - 结果
-
此地图部分的视图,其键小于(或等于,如果
inclusive为真)toKey - 异常
-
ClassCastException- 如果toKey与此映射的比较器不兼容(或者,如果映射没有比较器,则toKey未实现Comparable)。 如果无法将toKey与当前映射中的键进行比较,则实现可能(但不是必须)抛出此异常。 -
NullPointerException- 如果toKey为空 -
IllegalArgumentException- 如果此地图本身具有受限范围,并且toKey位于范围的范围之外
-
tailMap
public ConcurrentNavigableMap<K,V> tailMap(K fromKey, boolean inclusive)
从界面复制的说明:NavigableMap返回此映射的部分视图,其键大于(或等于,如果inclusive为真)fromKey。 返回的地图由此地图支持,因此返回的地图中的更改将反映在此地图中,反之亦然。 返回的地图支持此地图支持的所有可选地图操作。返回的地图将尝试在其范围之外插入密钥时抛出
IllegalArgumentException。- Specified by:
-
tailMap在界面ConcurrentNavigableMap<K,V> - Specified by:
-
tailMap在界面NavigableMap<K,V> - 参数
-
fromKey- 返回映射中键的低端点 -
inclusive-true如果true低端点包含在返回的视图中 - 结果
-
此地图部分的视图,其键大于(或等于,如果
inclusive为真)fromKey - 异常
-
ClassCastException- 如果fromKey与此映射的比较器不兼容(或者,如果映射没有比较器,则fromKey未实现Comparable)。 如果fromKey无法与地图中当前的键进行比较,则实现可能(但不是必须)抛出此异常。 -
NullPointerException- 如果fromKey为空 -
IllegalArgumentException- 如果此地图本身具有受限范围,并且fromKey位于范围的范围之外
-
subMap
public ConcurrentNavigableMap<K,V> subMap(K fromKey, K toKey)
从界面复制的说明:NavigableMap返回此映射部分的视图,其键的范围从fromKey(包括toKey)到toKey(独占)。 (如果fromKey和toKey相等,则返回的地图为空。)返回的地图由此地图支持,因此返回的地图中的更改将反映在此地图中,反之亦然。 返回的地图支持此地图支持的所有可选地图操作。返回的地图将尝试在其范围之外插入一个键时抛出
IllegalArgumentException。相当于
subMap(fromKey, true, toKey, false)。- Specified by:
-
subMap在界面ConcurrentNavigableMap<K,V> - Specified by:
-
subMapin interfaceNavigableMap<K,V> - Specified by:
-
subMap,界面SortedMap<K,V> - 参数
-
fromKey- 返回映射中键的低端点(包括) -
toKey- 返回映射中键的高端点(独占) - 结果
-
此地图部分的视图,其范围从
fromKey(含)到toKey,独家 - 异常
-
ClassCastException- 如果fromKey和toKey无法使用此映射的比较器相互比较(或者,如果映射没有比较器,则使用自然顺序)。 如果fromKey或toKey无法与映射中当前的键进行比较,则实现可能(但不是必须)抛出此异常。 -
NullPointerException- 如果fromKey或toKey为空 -
IllegalArgumentException- 如果fromKey大于toKey; 或者如果此地图本身具有受限范围,则fromKey或toKey位于范围的范围之外
-
headMap
public ConcurrentNavigableMap<K,V> headMap(K toKey)
从界面复制的说明:NavigableMap返回此映射部分的视图,其键严格小于toKey。 返回的地图由此地图支持,因此返回的地图中的更改将反映在此地图中,反之亦然。 返回的地图支持此地图支持的所有可选地图操作。返回的地图将尝试在其范围之外插入密钥时抛出
IllegalArgumentException。相当于
headMap(toKey, false)。- Specified by:
-
headMap在界面ConcurrentNavigableMap<K,V> - Specified by:
-
headMap在接口NavigableMap<K,V> - Specified by:
-
headMap在界面SortedMap<K,V> - 参数
-
toKey- 返回映射中键的高端点(独占) - 结果
-
此地图部分的视图,其键严格小于
toKey - 异常
-
ClassCastException- 如果toKey与此映射的比较器不兼容(或者,如果映射没有比较器,则toKey未实现Comparable)。 如果toKey无法与地图中当前的键进行比较,则实现可能(但不是必须)抛出此异常。 -
NullPointerException- 如果toKey为空 -
IllegalArgumentException- 如果此地图本身具有受限范围,并且toKey位于范围的范围之外
-
tailMap
public ConcurrentNavigableMap<K,V> tailMap(K fromKey)
从界面复制的说明:NavigableMap返回此映射部分的视图,其键大于或等于fromKey。 返回的地图由此地图支持,因此返回的地图中的更改将反映在此地图中,反之亦然。 返回的地图支持此地图支持的所有可选地图操作。返回的地图将尝试在其范围之外插入一个键时抛出
IllegalArgumentException。相当于
tailMap(fromKey, true)。- Specified by:
-
tailMap在界面ConcurrentNavigableMap<K,V> - Specified by:
-
tailMap,界面NavigableMap<K,V> - Specified by:
-
tailMap在界面SortedMap<K,V> - 参数
-
fromKey- 返回映射中键的低端点(包括) - 结果
-
此映射的部分视图,其键大于或等于
fromKey - 异常
-
ClassCastException- 如果fromKey与此映射的比较器不兼容(或者,如果映射没有比较器,则fromKey不实现Comparable)。 如果fromKey无法与地图中当前的键进行比较,则实现可能(但不是必须)抛出此异常。 -
NullPointerException- 如果fromKey为空 -
IllegalArgumentException- 如果此地图本身具有受限范围,并且fromKey位于范围的范围之外
-
lowerEntry
public Map.Entry<K,V> lowerEntry(K key)
返回与严格小于给定键的最大键相关联的键 - 值映射,如果没有这样的键,则null。 返回的条目不支持Entry.setValue方法。- Specified by:
-
lowerEntryin interfaceNavigableMap<K,V> - 参数
-
key- 关键 - 结果
-
最大密钥小于
key的条目,如果没有这样的密钥null - 异常
-
ClassCastException- 如果指定的密钥无法与地图中当前的密钥进行比较 -
NullPointerException- 如果指定的键为空
-
lowerKey
public K lowerKey(K key)
从界面复制的说明:NavigableMap返回严格小于给定键的最大键,如果没有这样键,则返回null。- Specified by:
-
lowerKey,界面NavigableMap<K,V> - 参数
-
key- 关键 - 结果
-
最大的关键不到
key,或null如果没有这样的关键 - 异常
-
ClassCastException- 如果指定的密钥无法与地图中当前的密钥进行比较 -
NullPointerException- 如果指定的键为空
-
floorEntry
public Map.Entry<K,V> floorEntry(K key)
返回与小于或等于给定键的最大键关联的键值映射,如果没有此键,则null。 返回的条目不支持Entry.setValue方法。- Specified by:
-
floorEntry在界面NavigableMap<K,V> - 参数
-
key- 关键 - 结果
-
最大密钥小于或等于
key,如果没有这样的密钥null - 异常
-
ClassCastException- 如果指定的密钥无法与地图中当前的密钥进行比较 -
NullPointerException- 如果指定的键为空
-
floorKey
public K floorKey(K key)
从界面复制的说明:NavigableMap返回小于或等于给定键的最大键,如果没有这样的键,则null。- Specified by:
-
floorKey,界面NavigableMap<K,V> - 参数
-
key- 关键 - 结果
-
最大密钥小于或等于
key,如果没有这样的密钥null - 异常
-
ClassCastException- 如果指定的密钥无法与地图中当前的密钥进行比较 -
NullPointerException- 如果指定的键为空
-
ceilingEntry
public Map.Entry<K,V> ceilingEntry(K key)
返回与大于或等于给定键的最小键关联的键 - 值映射,如果没有此类条目,则null。 返回的条目不支持Entry.setValue方法。- Specified by:
-
ceilingEntryin interfaceNavigableMap<K,V> - 参数
-
key- 关键 - 结果
-
最小密钥大于或等于
key,如果没有这样的密钥null - 异常
-
ClassCastException- 如果指定的密钥无法与地图中当前的密钥进行比较 -
NullPointerException- 如果指定的键为空
-
ceilingKey
public K ceilingKey(K key)
从界面复制的说明:NavigableMap返回大于或等于给定键的null键,如果没有这样的键,则null。- Specified by:
-
ceilingKey在界面NavigableMap<K,V> - 参数
-
key- 关键 - 结果
-
如果没有这样的密钥,则最小密钥大于或等于
key或null - 异常
-
ClassCastException- 如果指定的键无法与地图中当前的键进行比较 -
NullPointerException- 如果指定的键为空
-
higherEntry
public Map.Entry<K,V> higherEntry(K key)
返回与严格大于给定键的最小键关联的键值映射,如果没有此键,则null。 返回的条目不支持Entry.setValue方法。- Specified by:
-
higherEntry,界面NavigableMap<K,V> - 参数
-
key- 关键 - 结果
-
最小密钥大于
key的条目,如果没有这样的密钥null - 异常
-
ClassCastException- 如果指定的密钥无法与地图中当前的密钥进行比较 -
NullPointerException- 如果指定的键为空
-
higherKey
public K higherKey(K key)
从界面复制的说明:NavigableMap返回严格大于给定键的最小键,如果没有这样的键,则返回null。- Specified by:
-
higherKey,界面NavigableMap<K,V> - 参数
-
key- 关键 - 结果
-
最小密钥大于
key,如果没有这样的密钥null - 异常
-
ClassCastException- 如果指定的密钥无法与地图中当前的密钥进行比较 -
NullPointerException- 如果指定的键为空
-
firstEntry
public Map.Entry<K,V> firstEntry()
返回与此映射中的最小键关联的键 - 值映射,如果映射为空,则null。 返回的条目不支持Entry.setValue方法。- Specified by:
-
firstEntry在界面NavigableMap<K,V> - 结果
-
具有最小键的条目,或者如果此映射为空
null
-
lastEntry
public Map.Entry<K,V> lastEntry()
返回与此映射中的最大键关联的键 - 值映射,如果映射为空,则null。 返回的条目不支持Entry.setValue方法。- Specified by:
-
lastEntryin interfaceNavigableMap<K,V> - 结果
-
具有最大键的条目,如果此映射为空,
null
-
pollFirstEntry
public Map.Entry<K,V> pollFirstEntry()
删除并返回与此映射中的最小键关联的键 - 值映射,如果映射为空,则null。 返回的条目不支持Entry.setValue方法。- Specified by:
-
pollFirstEntry,界面NavigableMap<K,V> - 结果
-
删除此地图的第一个条目,如果此地图为空,
null
-
pollLastEntry
public Map.Entry<K,V> pollLastEntry()
删除并返回与此地图中最大键关联的键值映射,如果地图为空,则null。 返回的条目不支持Entry.setValue方法。- Specified by:
-
pollLastEntry,界面NavigableMap<K,V> - 结果
-
删除此地图的最后一个条目,如果此地图为空,
null
-
-