JavaTM Platform
Standard Ed. 6

java.util.concurrent
接口 ConcurrentNavigableMap<K,V>

类型参数:
K - 此映射维护的键类型
V - 映射值的类型
所有超级接口:
ConcurrentMap<K,V>, Map<K,V>, NavigableMap<K,V>, SortedMap<K,V>
所有已知实现类:
ConcurrentSkipListMap

public interface ConcurrentNavigableMap<K,V>
extends ConcurrentMap<K,V>, NavigableMap<K,V>

支持 NavigableMap 操作,且以递归方式支持其可导航子映射的 ConcurrentMap

此接口是 Java Collections Framework 的成员。

从以下版本开始:
1.6

嵌套类摘要
 
从接口 java.util.Map 继承的嵌套类/接口
Map.Entry<K,V>
 
方法摘要
 NavigableSet<K> descendingKeySet()
          返回此映射中所包含键的逆序 NavigableSet 视图。
 ConcurrentNavigableMap<K,V> descendingMap()
          返回此映射中所包含映射关系的逆序视图。
 ConcurrentNavigableMap<K,V> headMap(K toKey)
          返回此映射的部分视图,其键值严格小于 toKey
 ConcurrentNavigableMap<K,V> headMap(K toKey, boolean inclusive)
          返回此映射的部分视图,其键小于(或等于,如果 inclusive 为 true)toKey
 NavigableSet<K> keySet()
          返回此映射中所包含键的 NavigableSet 视图。
 NavigableSet<K> navigableKeySet()
          返回此映射中所包含键的 NavigableSet 视图。
 ConcurrentNavigableMap<K,V> subMap(K fromKey, boolean fromInclusive, K toKey, boolean toInclusive)
          返回此映射的部分视图,其键的范围从 fromKeytoKey
 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 为 true)fromKey
 
从接口 java.util.concurrent.ConcurrentMap 继承的方法
putIfAbsent, remove, replace, replace
 
从接口 java.util.NavigableMap 继承的方法
ceilingEntry, ceilingKey, firstEntry, floorEntry, floorKey, higherEntry, higherKey, lastEntry, lowerEntry, lowerKey, pollFirstEntry, pollLastEntry
 
从接口 java.util.SortedMap 继承的方法
comparator, entrySet, firstKey, lastKey, values
 
从接口 java.util.Map 继承的方法
clear, containsKey, containsValue, equals, get, hashCode, isEmpty, put, putAll, remove, size
 

方法详细信息

subMap

ConcurrentNavigableMap<K,V> subMap(K fromKey,
                                   boolean fromInclusive,
                                   K toKey,
                                   boolean toInclusive)
从接口 NavigableMap 复制的描述
返回此映射的部分视图,其键的范围从 fromKeytoKey。如果 fromKeytoKey 相等,则返回的映射为空,除非 fromExclusivetoExclusive 都为 true。返回的映射受此映射支持,因此返回映射中的更改将反映在此映射中,反之亦然。返回的映射支持此映射支持的所有可选映射操作。

如果试图在返回映射的范围之外插入一个键,或者构造一个任一端点位于其范围之外的子映射,则返回的映射将抛出 IllegalArgumentException

指定者:
接口 NavigableMap<K,V> 中的 subMap
参数:
fromKey - 返回映射中键的低端点
fromInclusive - 如果低端点要包含在返回的视图中,则为 true
toKey - 返回映射中键的高端点
toInclusive - 如果高端点要包含在返回的视图中,则为 true
返回:
此映射的部分视图,其键范围从 fromKeytoKey
抛出:
ClassCastException - 如果不能使用此映射的比较器(如果映射没有比较器,则使用自然顺序)比较 fromKeytoKey。如果 fromKeytoKey 不能与映射中当前键进行比较,则实现可以(但不是必须)抛出此异常。
NullPointerException - 如果 fromKeytoKey 为 null 并且此映射不允许 null 键
IllegalArgumentException - 如果 fromKey 大于 toKey;如果此映射本身有范围限制,并且 fromKeytoKey 位于范围的边界之外

headMap

ConcurrentNavigableMap<K,V> headMap(K toKey,
                                    boolean inclusive)
从接口 NavigableMap 复制的描述
返回此映射的部分视图,其键小于(或等于,如果 inclusive 为 true)toKey。返回的映射受此映射支持,因此返回映射中的更改将反映在此映射中,反之亦然。返回的映射支持此映射支持的所有可选映射操作。

如果试图在返回映射的范围之外插入一个键,则返回的映射将抛出 IllegalArgumentException

指定者:
接口 NavigableMap<K,V> 中的 headMap
参数:
toKey - 返回映射中键的高端点
inclusive - 如果高端点要包含在返回的视图中,则为 true
返回:
此映射的部分视图,其键小于(或等于,如果 inclusive 为 true)toKey
抛出:
ClassCastException - 如果 toKey 与此映射的比较器不兼容(如果映射没有比较器;如果 toKey 没有实现 Comparable)。如果 toKey 不能与映射中的当前键进行比较,则实现可以(但不是必须)抛出此异常。
NullPointerException - 如果 toKey 为 null 并且此映射不允许 null 键
IllegalArgumentException - 如果此映射本身有范围限制,并且 toKey 位于范围的边界之外

tailMap

ConcurrentNavigableMap<K,V> tailMap(K fromKey,
                                    boolean inclusive)
从接口 NavigableMap 复制的描述
返回此映射的部分视图,其键大于(或等于,如果 inclusive 为 true)fromKey。返回的映射受此映射支持,因此返回映射中的更改将反映在此映射中,反之亦然。返回的映射支持此映射支持的所有可选映射操作。

如果试图在返回映射的范围之外插入一个键,则返回的映射将抛出 IllegalArgumentException

指定者:
接口 NavigableMap<K,V> 中的 tailMap
参数:
fromKey - 返回映射中键的低端点
inclusive - 如果低端点要包含在返回的视图中,则为 true
返回:
此映射的部分视图,其键大于(或等于,如果 inclusive 为 true)fromKey
抛出:
ClassCastException - 如果 fromKey 与此映射的比较器不兼容(如果映射没有比较器;如果 fromKey 没有实现 Comparable)。如果 fromKey 不能与映射中的当前键进行比较,则实现可以(但不是必须)抛出此异常。
NullPointerException - 如果 fromKey 为 null 并且此映射不允许 null 键
IllegalArgumentException - 如果此映射本身有范围限制,并且 fromKey 位于范围的边界之外

subMap

ConcurrentNavigableMap<K,V> subMap(K fromKey,
                                   K toKey)
从接口 NavigableMap 复制的描述
返回此映射的部分视图,其键值的范围从 fromKey(包括)到 toKey(不包括)。(如果 fromKeytoKey 相等,则返回映射为空。)返回的映射受此映射支持,所以在返回映射中的更改将反映在此映射中,反之亦然。返回的映射支持此映射支持的所有可选映射操作。

如果试图在返回映射的范围之外插入键,则返回的映射将抛出 IllegalArgumentException

等效于 subMap(fromKey, true, toKey, false)

指定者:
接口 NavigableMap<K,V> 中的 subMap
指定者:
接口 SortedMap<K,V> 中的 subMap
参数:
fromKey - 返回映射中键的低端点(包括)
toKey - 返回映射中键的高端点(不包括)
返回:
此映射的部分视图,其键值的范围从 fromKey(包括)到 toKey(不包括)
抛出:
ClassCastException - 如果无法使用此映射的比较器(如果此映射没有比较器,则使用自然顺序)比较 fromKeytoKey。如果 fromKeytoKey 不能与映射中当前键进行比较,则实现可以(但不是必须)抛出此异常。
NullPointerException - 如果 fromKeytoKey 为 null,并且此映射不允许使用 null 键
IllegalArgumentException - 如果 fromKey 大于 toKey;如果此映射本身有范围限制,并且 fromKeytoKey 位于范围的边界之外

headMap

ConcurrentNavigableMap<K,V> headMap(K toKey)
从接口 NavigableMap 复制的描述
返回此映射的部分视图,其键值严格小于 toKey。返回的映射受此映射支持,所以在返回映射中的更改将反映在映射中,反之亦然。返回的映射支持此映射支持的所有可选映射操作。

如果试图在返回映射的范围之外插入键,则返回的映射将抛出 IllegalArgumentException

等效于 headMap(toKey, false)

指定者:
接口 NavigableMap<K,V> 中的 headMap
指定者:
接口 SortedMap<K,V> 中的 headMap
参数:
toKey - 返回映射中键的高端点(不包括)
返回:
此映射的部分视图,该映射的键严格小于 toKey
抛出:
ClassCastException - 如果 toKey 与此映射的比较器不兼容(如果该映射没有比较器;如果 toKey 没有实现 Comparable)。如果 toKey 不能与映射中的当前键进行比较,则实现可以(但不是必须)抛出此异常。
NullPointerException - 如果 toKey 为 null,并且此映射不允许使用 null 键
IllegalArgumentException - 如果此映射本身有范围限制,并且 toKey 位于范围的边界之外

tailMap

ConcurrentNavigableMap<K,V> tailMap(K fromKey)
从接口 NavigableMap 复制的描述
返回此映射的部分视图,其键大于等于 fromKey。返回的映射受此映射支持,所以在返回映射中的更改将反映在映射中,反之亦然。返回的映射支持此映射支持的所有可选映射操作。

如果试图在返回映射的范围之外插入键,则返回的映射将抛出 IllegalArgumentException

等效于 tailMap(fromKey, true)

指定者:
接口 NavigableMap<K,V> 中的 tailMap
指定者:
接口 SortedMap<K,V> 中的 tailMap
参数:
fromKey - 返回映射中键的低端点(包括)
返回:
此映射的部分视图,其键大于等于 fromKey
抛出:
ClassCastException - 如果 fromKey 与此映射的比较器不兼容(如果该映射没有比较器;如果 fromKey 没有实现 Comparable)。如果 fromKey 不能与映射中的当前键进行比较,则实现可以(但不是必须)抛出此异常。
NullPointerException - 如果 fromKey 为 null,并且此映射不允许使用 null 键
IllegalArgumentException - 如果此映射本身有范围限制,并且 fromKey 位于范围的边界之外

descendingMap

ConcurrentNavigableMap<K,V> descendingMap()
返回此映射中所包含映射关系的逆序视图。降序映射受此映射的支持,因此对此映射的更改将反映在降序映射中,反之亦然。

返回映射的顺序等于 Collections.reverseOrder(comparator())。表达式 m.descendingMap().descendingMap() 返回的 m 视图基本等效于 m

指定者:
接口 NavigableMap<K,V> 中的 descendingMap
返回:
此映射的逆序视图

navigableKeySet

NavigableSet<K> navigableKeySet()
返回此映射中所包含键的 NavigableSet 视图。set 的迭代器按升序返回键。set 受映射支持,因此对映射的更改将反映在 set 中,反之亦然。set 支持元素移除,即通过 Iterator.removeSet.removeremoveAllretainAllclear 操作从映射中移除相应的映射关系。它不支持 addaddAll 操作。

视图的 iterator 是一个不会抛出 ConcurrentModificationException 的“弱一致”迭代器,能确保遍历构造迭代器后存在的所有元素,并且可以(但并不保证)反映构造后的所有修改。

指定者:
接口 NavigableMap<K,V> 中的 navigableKeySet
返回:
此映射中键的可导航 set 视图

keySet

NavigableSet<K> keySet()
返回此映射中所包含键的 NavigableSet 视图。set 的迭代器按升序返回键。set 受映射支持,因此对映射的更改将反映在 set 中,反之亦然。set 支持元素移除,即通过 Iterator.removeSet.removeremoveAllretainAllclear 操作从映射中移除相应的映射关系。它不支持 addaddAll 操作。

视图的 iterator 是一个不会抛出 ConcurrentModificationException 的“弱一致”迭代器,能确保遍历构造迭代器后存在的所有元素,并且可以(但并不保证)反映构造后的所有修改。

此方法等效于方法 navigableKeySet

指定者:
接口 Map<K,V> 中的 keySet
指定者:
接口 SortedMap<K,V> 中的 keySet
返回:
此映射中键的可导航 set 视图

descendingKeySet

NavigableSet<K> descendingKeySet()
返回此映射中所包含键的逆序 NavigableSet 视图。set 的迭代器按降序返回键。set 受映射支持,因此对映射的更改将反映在 set 中,反之亦然。set 支持元素移除,即通过 Iterator.removeSet.removeremoveAllretainAllclear 操作从映射中移除相应的映射关系。它不支持 addaddAll 操作。

视图的 iterator 是一个不会抛出 ConcurrentModificationException 的“弱一致”迭代器,能确保遍历构造迭代器后存在的所有元素,并且可以(但并不保证)反映构造后的所有修改。

指定者:
接口 NavigableMap<K,V> 中的 descendingKeySet
返回:
此映射中键的逆序可导航 set 视图

JavaTM Platform
Standard Ed. 6

提交错误或意见
有关更多的 API 参考资料和开发人员文档,请参阅 Java SE 开发人员文档。该文档包含更详细的、面向开发人员的描述,以及总体概述、术语定义、使用技巧和工作代码示例。

版权所有 2007 Sun Microsystems, Inc. 保留所有权利。 请遵守许可证条款。另请参阅文档重新分发政策