JavaTM 2 Platform
Standard Ed. 6

java.util.concurrent
類別 ConcurrentSkipListMap<K,V>

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 實作。映射可以根據鍵的自然順序進行排序,也可以根據創建映射時所提供的 Comparator 進行排序,具體取決於使用的建構子。

此類別實作 SkipLists 的共時變體,為 containsKeygetputremove 操作及其變體提供預期平均 log(n) 時間開銷。多個執行緒可以安全地共時執行插入、移除、更新和存取操作。迭代器是弱一致 的,返回的元素將反映迭代器創建時或創建後某一時刻的映射狀態。它們 拋出 ConcurrentModificationException,可以共時處理其他操作。升序鍵排序視圖及其迭代器比降序鍵排序視圖及其迭代器更快。

此類別及此類別視圖中的方法返回的所有 Map.Entry 對,表示他們產生時的映射關係快照。它們 支持 Entry.setValue 方法。(注意,根據所需效果,可以使用 putputIfAbsentreplace 更改關聯映射中的映射關係。)

請注意,與在大多數 collection 中不同,這裡的 size 方法不是 一個固定時間 (constant-time) 操作。因為這些映射的非同步特性,確定元素的當前數目需要遍歷元素。此外,批量操作 putAllequalsclear 並不 保證能以原子方式 (atomically) 執行。例如,與 putAll 操作一起共時操作的迭代器只能查看某些附加元素。

此類別及其視圖和迭代器實作 MapIterator 介面的所有可選 方法。與大多數其他共時 collection 一樣,此類別 允許使用 null 鍵或值,因為無法可靠地區分 null 返回值與不存在的元素值。

此類別是 Java Collections Framework 的成員。

從以下版本開始:
1.6
另請參見:
序列化表格

巢狀類別摘要
 
從類別 java.util.AbstractMap 繼承的巢狀類別/介面
AbstractMap.SimpleEntry<K,V>, AbstractMap.SimpleImmutableEntry<K,V>
 
從介面 java.util.Map 繼承的巢狀類別/介面
Map.Entry<K,V>
 
建構子摘要
ConcurrentSkipListMap()
          建構一個新的空映射,該映射按照鍵的自然順序進行排序。
ConcurrentSkipListMap(Comparator<? super K> comparator)
          建構一個新的空映射,該映射按照指定的比較器進行排序。
ConcurrentSkipListMap(Map<? extends K,? extends V> m)
          建構一個新映射,該映射所包含的映射關係與給定映射包含的映射關係相同,並按照鍵的自然順序進行排序。
ConcurrentSkipListMap(SortedMap<K,? extends V> m)
          建構一個新映射,該映射所包含的映射關係與指定的有序映射包含的映射關係相同,使用的順序也相同。
 
方法摘要
 Map.Entry<K,V> ceilingEntry(K key)
          返回與大於等於給定鍵的最小鍵關聯的鍵-值映射關係;如果不存在這樣的條目,則返回 null
 K ceilingKey(K key)
          返回大於等於給定鍵的最小鍵;如果不存在這樣的鍵,則返回 null
 void clear()
          從此映射中移除所有映射關係。
 ConcurrentSkipListMap<K,V> clone()
          返回此 ConcurrentSkipListMap 實例的淺表副本。
 Comparator<? super K> comparator()
          返回對此映射中的鍵進行排序的比較器;如果此映射使用鍵的自然順序,則返回 null
 boolean containsKey(Object key)
          如果此映射包含指定鍵的映射關係,則返回 true
 boolean containsValue(Object value)
          如果此映射為指定值映射一個或多個鍵,則返回 true
 NavigableSet<K> descendingKeySet()
          返回此映射中所包含鍵的逆序 NavigableSet 視圖。
 ConcurrentNavigableMap<K,V> descendingMap()
          返回此映射中所包含映射關係的逆序視圖。
 Set<Map.Entry<K,V>> entrySet()
          返回此映射中所包含的映射關係的 Set 視圖。
 boolean equals(Object o)
          比較指定對象與此映射的相等性。
 Map.Entry<K,V> firstEntry()
          返回與此映射中的最小鍵關聯的鍵-值映射關係;如果該映射為空,則返回 null
 K firstKey()
          返回此映射中當前第一個(最低)鍵。
 Map.Entry<K,V> floorEntry(K key)
          返回與小於等於給定鍵的最大鍵關聯的鍵-值映射關係;如果不存在這樣的鍵,則返回 null
 K floorKey(K key)
          返回小於等於給定鍵的最大鍵;如果不存在這樣的鍵,則返回 null
 V get(Object key)
          返回指定鍵所映射到的值;如果此映射不包含該鍵的映射關係,則返回 null
 ConcurrentNavigableMap<K,V> headMap(K toKey)
          返回此映射的部分視圖,其鍵值嚴格小於 toKey
 ConcurrentNavigableMap<K,V> headMap(K toKey, boolean inclusive)
          返回此映射的部分視圖,其鍵小於(或等於,如果 inclusive 為 true)toKey
 Map.Entry<K,V> higherEntry(K key)
          返回與嚴格大於給定鍵的最小鍵關聯的鍵-值映射關係;如果不存在這樣的鍵,則返回 null
 K higherKey(K key)
          返回嚴格大於給定鍵的最小鍵;如果不存在這樣的鍵,則返回 null
 boolean isEmpty()
          如果此映射未包含鍵-值映射關係,則返回 true
 NavigableSet<K> keySet()
          返回此映射中所包含鍵的 NavigableSet 視圖。
 Map.Entry<K,V> lastEntry()
          返回與此映射中的最大鍵關聯的鍵-值映射關係;如果該映射為空,則返回 null
 K lastKey()
          返回映射中當前最後一個(最高)鍵。
 Map.Entry<K,V> lowerEntry(K key)
          返回與嚴格小於給定鍵的最大鍵關聯的鍵-值映射關係;如果不存在這樣的鍵,則返回 null
 K lowerKey(K key)
          返回嚴格小於給定鍵的最大鍵;如果不存在這樣的鍵,則返回 null
 NavigableSet<K> navigableKeySet()
          返回此映射中所包含鍵的 NavigableSet 視圖。
 Map.Entry<K,V> pollFirstEntry()
          移除並返回與此映射中的最小鍵關聯的鍵-值映射關係;如果該映射為空,則返回 null
 Map.Entry<K,V> pollLastEntry()
          移除並返回與此映射中的最大鍵關聯的鍵-值映射關係;如果該映射為空,則返回 null
 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)
          只有目前將鍵的條目映射到給定值時,才替換該鍵的條目。
 int size()
          返回此映射中的鍵-值映射關係數。
 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
 Collection<V> values()
          返回此映射中所包含值的 Collection 視圖。
 
從類別 java.util.AbstractMap 繼承的方法
hashCode, putAll, toString
 
從類別 java.lang.Object 繼承的方法
finalize, getClass, notify, notifyAll, wait, wait, wait
 
從介面 java.util.Map 繼承的方法
hashCode, putAll
 

建構子詳細資訊

ConcurrentSkipListMap

public ConcurrentSkipListMap()
建構一個新的空映射,該映射按照鍵的自然順序進行排序。


ConcurrentSkipListMap

public ConcurrentSkipListMap(Comparator<? super K> comparator)
建構一個新的空映射,該映射按照指定的比較器進行排序。

參數:
comparator - 用於對此映射進行排序的比較器。如果此參數為 null,則使用鍵的自然順序

ConcurrentSkipListMap

public ConcurrentSkipListMap(Map<? extends K,? extends V> 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 實例的淺表副本。(不複製鍵和值本身。)

覆寫:
類別 AbstractMap<K,V> 中的 clone
返回:
此映射的淺表副本
另請參見:
Cloneable

containsKey

public boolean containsKey(Object key)
如果此映射包含指定鍵的映射關係,則返回 true

指定者:
介面 Map<K,V> 中的 containsKey
覆寫:
類別 AbstractMap<K,V> 中的 containsKey
參數:
key - 測試是否存在於此映射中的鍵
返回:
如果此映射包含指定鍵的映射關係,則返回 true
拋出:
ClassCastException - 如果指定鍵無法與映射中的當前鍵進行比較
NullPointerException - 如果指定鍵為 null

get

public V get(Object key)
返回指定鍵所映射到的值;如果此映射不包含該鍵的映射關係,則返回 null

更確切地講,如果此映射包含從鍵 k 到值 v 的映射關係,根據映射的順序,keyk 比較起來相等,那麼此方法返回 v;否則返回 null。(最多只能有一個這樣的映射關係)。

指定者:
介面 Map<K,V> 中的 get
覆寫:
類別 AbstractMap<K,V> 中的 get
參數:
key - 要返回其關聯值的鍵
返回:
指定鍵所映射的值;如果此映射不包含該鍵的映射關係,則返回 null
拋出:
ClassCastException - 如果指定鍵無法與映射中的當前鍵進行比較
NullPointerException - 如果指定鍵為 null

put

public V put(K key,
             V value)
將指定值與此映射中的指定鍵關聯。如果映射以前包含了一個該鍵的映射關係,那麼將替換舊值。

指定者:
介面 Map<K,V> 中的 put
覆寫:
類別 AbstractMap<K,V> 中的 put
參數:
key - 與指定值關聯的鍵
value - 與指定鍵關聯的值
返回:
以前與指定鍵關聯的值;如果該鍵沒有映射關係,則返回 null
拋出:
ClassCastException - 如果指定鍵無法與映射中的當前值進行比較
NullPointerException - 如果指定鍵或值為 null

remove

public V remove(Object key)
從此映射中移除指定鍵的映射關係(如果存在)。

指定者:
介面 Map<K,V> 中的 remove
覆寫:
類別 AbstractMap<K,V> 中的 remove
參數:
key - 映射關係應該被移除的鍵
返回:
以前與指定鍵關聯的值;如果該鍵沒有映射關係,則返回 null
拋出:
ClassCastException - 如果指定鍵無法與映射中的當前值進行比較
NullPointerException - 如果指定鍵為 null

containsValue

public boolean containsValue(Object value)
如果此映射為指定值映射一個或多個鍵,則返回 true。此操作所需的時間與映射的大小呈線性關係。

指定者:
介面 Map<K,V> 中的 containsValue
覆寫:
類別 AbstractMap<K,V> 中的 containsValue
參數:
value - 測試是否存在於此映射中的值
返回:
如果存在對 value 的映射關係,則返回 true;否則返回 false
拋出:
NullPointerException - 如果指定的值為 null

size

public int size()
返回此映射中的鍵-值映射關係數。如果此映射包含的元素數大於 Integer.MAX_VALUE,則返回 Integer.MAX_VALUE

請注意,與在大多數 collection 中不同,此方法在這不是 一個固定時間操作。因為這些映射的非同步特性,確定元素的當前數目需要遍歷元素以計算其數目。此外,在執行此方法期間可以更改大小,在這種情況下,返回的結果將不準確。因此,此方法在共時應用程序中通常不是很有用。

指定者:
介面 Map<K,V> 中的 size
覆寫:
類別 AbstractMap<K,V> 中的 size
返回:
此映射中的元素數

isEmpty

public boolean isEmpty()
如果此映射未包含鍵-值映射關係,則返回 true

指定者:
介面 Map<K,V> 中的 isEmpty
覆寫:
類別 AbstractMap<K,V> 中的 isEmpty
返回:
如果此映射未包含鍵-值映射關係,則返回 true

clear

public void clear()
從此映射中移除所有映射關係。

指定者:
介面 Map<K,V> 中的 clear
覆寫:
類別 AbstractMap<K,V> 中的 clear

keySet

public NavigableSet<K> keySet()
返回此映射中所包含鍵的 NavigableSet 視圖。set 的迭代器按升序返回鍵。set 受映射支持,因此對映射的更改可在 set 中反映出來,反之亦然。set 支持元素移除,即通過 Iterator.removeSet.removeremoveAllretainAllclear 操作從映射中移除相應的映射關係。它不支持 addaddAll 操作。

視圖的 iterator 是一個不會拋出 ConcurrentModificationException 的“弱一致”迭代器,能確保遍歷建構迭代器後存在的所有元素,並且可以(但並不保證)反映建構後的所有修改。

此方法等效於方法 navigableKeySet

指定者:
介面 ConcurrentNavigableMap<K,V> 中的 keySet
指定者:
介面 Map<K,V> 中的 keySet
指定者:
介面 SortedMap<K,V> 中的 keySet
覆寫:
類別 AbstractMap<K,V> 中的 keySet
返回:
此映射中鍵的可導航 set 視圖

navigableKeySet

public NavigableSet<K> navigableKeySet()
從介面 ConcurrentNavigableMap 複製的描述
返回此映射中所包含鍵的 NavigableSet 視圖。set 的迭代器按升序返回鍵。set 受映射支持,因此對映射的更改將反映在 set 中,反之亦然。set 支持元素移除,即通過 Iterator.removeSet.removeremoveAllretainAllclear 操作從映射中移除相應的映射關係。它不支持 addaddAll 操作。

視圖的 iterator 是一個不會拋出 ConcurrentModificationException 的“弱一致”迭代器,能確保遍歷建構迭代器後存在的所有元素,並且可以(但並不保證)反映建構後的所有修改。

指定者:
介面 ConcurrentNavigableMap<K,V> 中的 navigableKeySet
指定者:
介面 NavigableMap<K,V> 中的 navigableKeySet
返回:
此映射中鍵的可導航 set 視圖

values

public Collection<V> values()
返回此映射中所包含值的 Collection 視圖。collection 的迭代器將按相應鍵的升序返回值。collection 受映射支持,所以對映射的更改可在此 collection 中反映出來,反之亦然。collection 支持元素移除,通過 Iterator.removeCollection.removeremoveAllretainAllclear 操作,可從映射中移除相應的映射關係。它不支持 addaddAll 操作。

視圖的 iterator 是一個不會拋出 ConcurrentModificationException 的“弱一致”迭代器,能確保遍歷建構迭代器後存在的所有元素,並且可以(但並不保證)反映建構後的所有修改。

指定者:
介面 Map<K,V> 中的 values
指定者:
介面 SortedMap<K,V> 中的 values
覆寫:
類別 AbstractMap<K,V> 中的 values
返回:
此映射中包含的值的 collection 視圖

entrySet

public Set<Map.Entry<K,V>> entrySet()
返回此映射中所包含的映射關係的 Set 視圖。set 的迭代器按鍵的升序返回條目。set 受映射支持,因此對映射的更改可在 set 中反映出來,反之亦然。set 支持元素移除,通過 Iterator.removeSet.removeremoveAllretainAllclear 操作,可從映射中移除相應的映射關係。它不支持 addaddAll 操作。

視圖的 iterator 是一個不會拋出 ConcurrentModificationException 的“弱一致”迭代器,能確保遍歷建構迭代器後存在的所有元素,並且可以(但並不保證)反映建構後的所有修改。

iterator.next() 返回的 Map.Entry 元素 支持 setValue 操作。

指定者:
介面 Map<K,V> 中的 entrySet
指定者:
介面 SortedMap<K,V> 中的 entrySet
指定者:
類別 AbstractMap<K,V> 中的 entrySet
返回:
包含在此映射中的映射關係的 set 視圖,它按鍵的升序排序

descendingMap

public ConcurrentNavigableMap<K,V> descendingMap()
從介面 ConcurrentNavigableMap 複製的描述
返回此映射中所包含映射關係的逆序視圖。降序映射受此映射的支持,因此對此映射的更改將反映在降序映射中,反之亦然。

返回映射的順序等於 Collections.reverseOrder(comparator())。表達式 m.descendingMap().descendingMap() 返回的 m 視圖基本等效於 m

指定者:
介面 ConcurrentNavigableMap<K,V> 中的 descendingMap
指定者:
介面 NavigableMap<K,V> 中的 descendingMap
返回:
此映射的逆序視圖

descendingKeySet

public NavigableSet<K> descendingKeySet()
從介面 ConcurrentNavigableMap 複製的描述
返回此映射中所包含鍵的逆序 NavigableSet 視圖。set 的迭代器按降序返回鍵。set 受映射支持,因此對映射的更改將反映在 set 中,反之亦然。set 支持元素移除,即通過 Iterator.removeSet.removeremoveAllretainAllclear 操作從映射中移除相應的映射關係。它不支持 addaddAll 操作。

視圖的 iterator 是一個不會拋出 ConcurrentModificationException 的“弱一致”迭代器,能確保遍歷建構迭代器後存在的所有元素,並且可以(但並不保證)反映建構後的所有修改。

指定者:
介面 ConcurrentNavigableMap<K,V> 中的 descendingKeySet
指定者:
介面 NavigableMap<K,V> 中的 descendingKeySet
返回:
此映射中鍵的逆序可導航 set 視圖

equals

public boolean equals(Object o)
比較指定對象與此映射的相等性。如果給定對象也是一個映射並且兩個映射表示相同的映射關係,則返回 true。更確切地講,如果 m1.entrySet().equals(m2.entrySet()),那麼這兩個映射 m1m2 表示相同的映射關係。如果在執行該此方法期間共時地修改了某一個映射,則此操作返回的結果可能不符合實際。

指定者:
介面 Map<K,V> 中的 equals
覆寫:
類別 AbstractMap<K,V> 中的 equals
參數:
o - 要與此映射進行相等性比較的物件
返回:
true 如果指定物件等於此映射
另請參見:
Object.hashCode(), Hashtable

putIfAbsent

public V putIfAbsent(K key,
                     V value)
如果指定鍵已經不再與某個值相關聯,則將它與給定值關聯。這等價於:
   if (!map.containsKey(key)) 
      return map.put(key, value);
  else
       return map.get(key);
除了原子地執行此操作之外。

指定者:
介面 ConcurrentMap<K,V> 中的 putIfAbsent
參數:
key - 與指定值相關聯的鍵
value - 與指定鍵相關聯的值
返回:
以前與指定鍵關聯的值;如果沒有該鍵的映射關係,則返回 null
拋出:
ClassCastException - 如果指定鍵無法與映射中的當前值進行比較
NullPointerException - 如果指定鍵或值為 null

remove

public boolean remove(Object key,
                      Object value)
只有目前將鍵的條目映射到給定值時,才移除該鍵的條目。這等效於:
   if (map.containsKey(key) && map.get(key).equals(value)) {
       map.remove(key);
       return true;
   } else return false;
不同之處在於該操作是以原子方式 (atomically) 執行的。

指定者:
介面 ConcurrentMap<K,V> 中的 remove
參數:
key - 與指定值相關聯的鍵
value - 期望與指定鍵相關聯的值
返回:
如果該值被移除,則返回 true
拋出:
ClassCastException - 如果指定鍵無法與映射中的當前鍵進行比較
NullPointerException - 如果指定鍵為 null

replace

public boolean replace(K key,
                       V oldValue,
                       V newValue)
只有目前將鍵的條目映射到給定值時,才替換該鍵的條目。這等效於:
   if (map.containsKey(key) && map.get(key).equals(oldValue)) {
       map.put(key, newValue);
       return true;
   } else return false;
不同之處在於該操作是以原子方式執行的。

指定者:
介面 ConcurrentMap<K,V> 中的 replace
參數:
key - 與指定值相關聯的鍵
oldValue - 期望與指定鍵相關聯的值
newValue - 與指定鍵相關聯的值
返回:
如果該值被替換,則返回 true
拋出:
ClassCastException - 如果指定鍵無法與映射中的當前鍵進行比較
NullPointerException - 如果任何參數為 null

replace

public V replace(K key,
                 V value)
只有目前將鍵的條目映射到某一值時,才替換該鍵的條目。這等效於:
   if (map.containsKey(key)) {
       return map.put(key, value);
   } else return null;
不同之處在於該操作是以原子方式執行的。

指定者:
介面 ConcurrentMap<K,V> 中的 replace
參數:
key - 與指定值相關聯的鍵
value - 與指定鍵相關聯的值
返回:
以前與指定鍵關聯的值;如果沒有該鍵的映射關係,則返回 null
拋出:
ClassCastException - 如果指定鍵無法與映射中的當前值進行比較
NullPointerException - 如果指定鍵或值為 null

comparator

public Comparator<? super K> comparator()
從介面 SortedMap 複製的描述
返回對此映射中的鍵進行排序的比較器;如果此映射使用鍵的自然順序,則返回 null

指定者:
介面 SortedMap<K,V> 中的 comparator
返回:
用來對此映射中的鍵進行排序的比較器;如果此映射使用鍵的自然順序,則返回 null

firstKey

public K firstKey()
從介面 SortedMap 複製的描述
返回此映射中當前第一個(最低)鍵。

指定者:
介面 SortedMap<K,V> 中的 firstKey
返回:
此映射中當前第一個(最低)鍵
拋出:
NoSuchElementException - 如果此映射為空

lastKey

public K lastKey()
從介面 SortedMap 複製的描述
返回映射中當前最後一個(最高)鍵。

指定者:
介面 SortedMap<K,V> 中的 lastKey
返回:
此映射中當前最後一個(最高)鍵
拋出:
NoSuchElementException - 如果此映射為空

subMap

public ConcurrentNavigableMap<K,V> subMap(K fromKey,
                                          boolean fromInclusive,
                                          K toKey,
                                          boolean toInclusive)
從介面 NavigableMap 複製的描述
返回此映射的部分視圖,其鍵的範圍從 fromKeytoKey。如果 fromKeytoKey 相等,則返回的映射為空,除非 fromExclusivetoExclusive 都為 true。返回的映射受此映射支持,因此返回映射中的更改將反映在此映射中,反之亦然。返回的映射支持此映射支持的所有可選映射操作。

如果試圖在返回映射的範圍之外插入一個鍵,或者建構一個任一端點位於其範圍之外的子映射,則返回的映射將拋出 IllegalArgumentException

指定者:
介面 ConcurrentNavigableMap<K,V> 中的 subMap
指定者:
介面 NavigableMap<K,V> 中的 subMap
參數:
fromKey - 返回映射中鍵的低端點
fromInclusive - 如果低端點要包含在返回的視圖中,則為 true
toKey - 返回映射中鍵的高端點
toInclusive - 如果高端點要包含在返回的視圖中,則為 true
返回:
此映射的部分視圖,其鍵範圍從 fromKeytoKey
拋出:
ClassCastException - 如果不能使用此映射的比較器(如果映射沒有比較器,則使用自然順序)比較 fromKeytoKey。如果 fromKeytoKey 不能與映射中當前鍵進行比較,則實作可以(但不是必須)拋出此異常。
NullPointerException - 如果 fromKeytoKey 為 null
IllegalArgumentException - 如果 fromKey 大於 toKey;如果此映射本身有範圍限制,並且 fromKeytoKey 位於範圍的邊界之外

headMap

public ConcurrentNavigableMap<K,V> headMap(K toKey,
                                           boolean inclusive)
從介面 NavigableMap 複製的描述
返回此映射的部分視圖,其鍵小於(或等於,如果 inclusive 為 true)toKey。返回的映射受此映射支持,因此返回映射中的更改將反映在此映射中,反之亦然。返回的映射支持此映射支持的所有可選映射操作。

如果試圖在返回映射的範圍之外插入一個鍵,則返回的映射將拋出 IllegalArgumentException

指定者:
介面 ConcurrentNavigableMap<K,V> 中的 headMap
指定者:
介面 NavigableMap<K,V> 中的 headMap
參數:
toKey - 返回映射中鍵的高端點
inclusive - 如果高端點要包含在返回的視圖中,則為 true
返回:
此映射的部分視圖,其鍵小於(或等於,如果 inclusive 為 true)toKey
拋出:
ClassCastException - 如果 toKey 與此映射的比較器不相容(如果映射沒有比較器;如果 toKey 沒有實作 Comparable)。如果 toKey 不能與映射中的當前鍵進行比較,則實作可以(但不是必須)拋出此異常。
NullPointerException - 如果 toKey 為 null
IllegalArgumentException - 如果此映射本身有範圍限制,並且 toKey 位於範圍的邊界之外

tailMap

public ConcurrentNavigableMap<K,V> tailMap(K fromKey,
                                           boolean inclusive)
從介面 NavigableMap 複製的描述
返回此映射的部分視圖,其鍵大於(或等於,如果 inclusive 為 true)fromKey。返回的映射受此映射支持,因此返回映射中的更改將反映在此映射中,反之亦然。返回的映射支持此映射支持的所有可選映射操作。

如果試圖在返回映射的範圍之外插入一個鍵,則返回的映射將拋出 IllegalArgumentException

指定者:
介面 ConcurrentNavigableMap<K,V> 中的 tailMap
指定者:
介面 NavigableMap<K,V> 中的 tailMap
參數:
fromKey - 返回映射中鍵的低端點
inclusive - 如果低端點要包含在返回的視圖中,則為 true
返回:
此映射的部分視圖,其鍵大於(或等於,如果 inclusive 為 true)fromKey
拋出:
ClassCastException - 如果 fromKey 與此映射的比較器不相容(如果映射沒有比較器;如果 fromKey 沒有實作 Comparable)。如果 fromKey 不能與映射中的當前鍵進行比較,則實作可以(但不是必須)拋出此異常。
NullPointerException - 如果 fromKey 為 null
IllegalArgumentException - 如果此映射本身有範圍限制,並且 fromKey 位於範圍的邊界之外

subMap

public ConcurrentNavigableMap<K,V> subMap(K fromKey,
                                          K toKey)
從介面 NavigableMap 複製的描述
返回此映射的部分視圖,其鍵值的範圍從 fromKey(包括)到 toKey(不包括)。(如果 fromKeytoKey 相等,則返回映射為空。)返回的映射受此映射支持,所以在返回映射中的更改將反映在此映射中,反之亦然。返回的映射支持此映射支持的所有可選映射操作。

如果試圖在返回映射的範圍之外插入鍵,則返回的映射將拋出 IllegalArgumentException

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

指定者:
介面 ConcurrentNavigableMap<K,V> 中的 subMap
指定者:
介面 NavigableMap<K,V> 中的 subMap
指定者:
介面 SortedMap<K,V> 中的 subMap
參數:
fromKey - 返回映射中鍵的低端點(包括)
toKey - 返回映射中鍵的高端點(不包括)
返回:
此映射的部分視圖,其鍵值的範圍從 fromKey(包括)到 toKey(不包括)
拋出:
ClassCastException - 如果無法使用此映射的比較器(如果此映射沒有比較器,則使用自然順序)比較 fromKeytoKey。如果 fromKeytoKey 不能與映射中當前鍵進行比較,則實作可以(但不是必須)拋出此異常。
NullPointerException - 如果 fromKeytoKey 為 null
IllegalArgumentException - 如果 fromKey 大於 toKey;如果此映射本身有範圍限制,並且 fromKeytoKey 位於範圍的邊界之外

headMap

public ConcurrentNavigableMap<K,V> headMap(K toKey)
從介面 NavigableMap 複製的描述
返回此映射的部分視圖,其鍵值嚴格小於 toKey。返回的映射受此映射支持,所以在返回映射中的更改將反映在映射中,反之亦然。返回的映射支持此映射支持的所有可選映射操作。

如果試圖在返回映射的範圍之外插入鍵,則返回的映射將拋出 IllegalArgumentException

等效於 headMap(toKey, false)

指定者:
介面 ConcurrentNavigableMap<K,V> 中的 headMap
指定者:
介面 NavigableMap<K,V> 中的 headMap
指定者:
介面 SortedMap<K,V> 中的 headMap
參數:
toKey - 返回映射中鍵的高端點(不包括)
返回:
此映射的部分視圖,該映射的鍵嚴格小於 toKey
拋出:
ClassCastException - 如果 toKey 與此映射的比較器不相容(如果該映射沒有比較器;如果 toKey 沒有實作 Comparable)。如果 toKey 不能與映射中的當前鍵進行比較,則實作可以(但不是必須)拋出此異常。
NullPointerException - 如果 toKey 為 null
IllegalArgumentException - 如果此映射本身有範圍限制,並且 toKey 位於範圍的邊界之外

tailMap

public ConcurrentNavigableMap<K,V> tailMap(K fromKey)
從介面 NavigableMap 複製的描述
返回此映射的部分視圖,其鍵大於等於 fromKey。返回的映射受此映射支持,所以在返回映射中的更改將反映在映射中,反之亦然。返回的映射支持此映射支持的所有可選映射操作。

如果試圖在返回映射的範圍之外插入鍵,則返回的映射將拋出 IllegalArgumentException

等效於 tailMap(fromKey, true)

指定者:
介面 ConcurrentNavigableMap<K,V> 中的 tailMap
指定者:
介面 NavigableMap<K,V> 中的 tailMap
指定者:
介面 SortedMap<K,V> 中的 tailMap
參數:
fromKey - 返回映射中鍵的低端點(包括)
返回:
此映射的部分視圖,其鍵大於等於 fromKey
拋出:
ClassCastException - 如果 fromKey 與此映射的比較器不相容(如果該映射沒有比較器;如果 fromKey 沒有實作 Comparable)。如果 fromKey 不能與映射中的當前鍵進行比較,則實作可以(但不是必須)拋出此異常。
NullPointerException - 如果 fromKey 為 null
IllegalArgumentException - 如果此映射本身有範圍限制,並且 fromKey 位於範圍的邊界之外

lowerEntry

public Map.Entry<K,V> lowerEntry(K key)
返回與嚴格小於給定鍵的最大鍵關聯的鍵-值映射關係;如果不存在這樣的鍵,則返回 null。返回的條目 支持 Entry.setValue 方法。

指定者:
介面 NavigableMap<K,V> 中的 lowerEntry
參數:
key - 鍵
返回:
最大鍵小於 key 的條目;如果不存在這樣的鍵,則返回 null
拋出:
ClassCastException - 如果指定鍵不能與映射中的當前鍵進行比較
NullPointerException - 如果指定鍵為 null

lowerKey

public K lowerKey(K key)
從介面 NavigableMap 複製的描述
返回嚴格小於給定鍵的最大鍵;如果不存在這樣的鍵,則返回 null

指定者:
介面 NavigableMap<K,V> 中的 lowerKey
參數:
key - 鍵
返回:
小於 key 的最大鍵;如果不存在這樣的鍵,則返回 null
拋出:
ClassCastException - 如果指定鍵不能與映射中的當前鍵進行比較
NullPointerException - 如果指定鍵為 null

floorEntry

public Map.Entry<K,V> floorEntry(K key)
返回與小於等於給定鍵的最大鍵關聯的鍵-值映射關係;如果不存在這樣的鍵,則返回 null。返回的條目 支持 Entry.setValue 方法。

指定者:
介面 NavigableMap<K,V> 中的 floorEntry
參數:
key - 鍵
返回:
最大鍵小於等於 key 的條目;如果不存在這樣的鍵,則返回 null
拋出:
ClassCastException - 如果指定鍵不能與映射中的當前鍵進行比較
NullPointerException - 如果指定鍵為 null

floorKey

public K floorKey(K key)
從介面 NavigableMap 複製的描述
返回小於等於給定鍵的最大鍵;如果不存在這樣的鍵,則返回 null

指定者:
介面 NavigableMap<K,V> 中的 floorKey
參數:
key - 鍵
返回:
小於等於 key 的最大鍵;如果不存在這樣的鍵,則返回 null
拋出:
ClassCastException - 如果指定鍵不能與映射中的當前鍵進行比較
NullPointerException - 如果指定鍵為 null

ceilingEntry

public Map.Entry<K,V> ceilingEntry(K key)
返回與大於等於給定鍵的最小鍵關聯的鍵-值映射關係;如果不存在這樣的條目,則返回 null。返回的條目 支持 Entry.setValue 方法。

指定者:
介面 NavigableMap<K,V> 中的 ceilingEntry
參數:
key - 鍵
返回:
最小鍵大於等於 key 的條目;如果不存在這樣的鍵,則返回 null
拋出:
ClassCastException - 如果指定鍵不能與映射中的當前鍵進行比較
NullPointerException - 如果指定鍵為 null

ceilingKey

public K ceilingKey(K key)
從介面 NavigableMap 複製的描述
返回大於等於給定鍵的最小鍵;如果不存在這樣的鍵,則返回 null

指定者:
介面 NavigableMap<K,V> 中的 ceilingKey
參數:
key - 鍵
返回:
大於等於 key 的最小鍵;如果不存在這樣的鍵,則返回 null
拋出:
ClassCastException - 如果指定鍵不能與映射中的當前鍵進行比較
NullPointerException - 如果指定鍵為 null

higherEntry

public Map.Entry<K,V> higherEntry(K key)
返回與嚴格大於給定鍵的最小鍵關聯的鍵-值映射關係;如果不存在這樣的鍵,則返回 null。返回的條目 支持 Entry.setValue 方法。

指定者:
介面 NavigableMap<K,V> 中的 higherEntry
參數:
key - 鍵
返回:
最小鍵大於 key 的條目;如果不存在這樣的鍵,則返回 null
拋出:
ClassCastException - 如果指定鍵不能與映射中的當前鍵進行比較
NullPointerException - 如果指定鍵為 null

higherKey

public K higherKey(K key)
從介面 NavigableMap 複製的描述
返回嚴格大於給定鍵的最小鍵;如果不存在這樣的鍵,則返回 null

指定者:
介面 NavigableMap<K,V> 中的 higherKey
參數:
key - 鍵
返回:
大於 key 的最小鍵;如果不存在這樣的鍵,則返回 null
拋出:
ClassCastException - 如果指定鍵不能與映射中的當前鍵進行比較
NullPointerException - 如果指定鍵為 null

firstEntry

public Map.Entry<K,V> firstEntry()
返回與此映射中的最小鍵關聯的鍵-值映射關係;如果該映射為空,則返回 null。返回的條目 支持 Entry.setValue 方法。

指定者:
介面 NavigableMap<K,V> 中的 firstEntry
返回:
帶有最小鍵的條目;如果此映射為空,則返回 null

lastEntry

public Map.Entry<K,V> lastEntry()
返回與此映射中的最大鍵關聯的鍵-值映射關係;如果該映射為空,則返回 null。返回的條目 支持 Entry.setValue 方法。

指定者:
介面 NavigableMap<K,V> 中的 lastEntry
返回:
帶有最大鍵的條目;如果此映射為空,則返回 null

pollFirstEntry

public Map.Entry<K,V> pollFirstEntry()
移除並返回與此映射中的最小鍵關聯的鍵-值映射關係;如果該映射為空,則返回 null。返回的條目 支持 Entry.setValue 方法。

指定者:
介面 NavigableMap<K,V> 中的 pollFirstEntry
返回:
此映射中被移除的第一個條目;如果此映射為空,則返回 null

pollLastEntry

public Map.Entry<K,V> pollLastEntry()
移除並返回與此映射中的最大鍵關聯的鍵-值映射關係;如果該映射為空,則返回 null。返回的條目 支持 Entry.setValue 方法。

指定者:
介面 NavigableMap<K,V> 中的 pollLastEntry
返回:
此映射中被移除的最後一個條目;如果此映射為空,則返回 null

JavaTM 2 Platform
Standard Ed. 6

提交錯誤或意見

版權所有 2008 Sun Microsystems, Inc. 保留所有權利。請遵守GNU General Public License, version 2 only