|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
上一個類別 下一個類別 | 框架 無框架 | |||||||||
摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 |
java.lang.Object java.util.AbstractCollection<E> java.util.AbstractSet<E> java.util.concurrent.ConcurrentSkipListSet<E>
E
- 此 set 維護的元素型別public class ConcurrentSkipListSet<E>
一個基於 ConcurrentSkipListMap
的可縮放共時 NavigableSet
實作。set 的元素可以根據它們的自然順序進行排序,也可以根據創建 set 時所提供的 Comparator
進行排序,具體取決於使用的建構子。
此實作為 contains、add、remove 操作及其變體提供預期平均 log(n) 時間開銷。多個執行緒可以安全地共時執行插入、移除和存取操作。迭代器是弱一致 的,返回的元素將反映迭代器創建時或創建後某一時刻的 set 狀態。它們不 拋出 ConcurrentModificationException
,可以共時處理其他操作。升序排序視圖及其迭代器比降序排序視圖及其迭代器更快。
請注意,與在大多數 collection 中不同,這裡的 size 方法不是 一個固定時間 (constant-time) 操作。由於這些 set 的非同步特性,確定元素的當前數目需要遍歷元素。此外,批量操作 addAll、removeAll、retainAll 和 containsAll 並不 保證能以原子方式 (atomically) 執行。例如,與 addAll 操作一起共時操作的迭代器只能查看某些附加元素。
此類別及其迭代器實作 Set
和 Iterator
介面的所有可選 方法。與大多數其他共時 collection 實作一樣,此類別不允許使用 null 元素,因為無法可靠地將 null 參數及返回值與不存在的元素區分開來。
此類別是 Java Collections Framework 的成員。
建構子摘要 | |
---|---|
ConcurrentSkipListSet()
建構一個新的空 set,該 set 按照元素的自然順序對其進行排序。 |
|
ConcurrentSkipListSet(Collection<? extends E> c)
建構一個套件含指定 collection 中元素的新 set,這個新 set 按照元素的自然順序對其進行排序。 |
|
ConcurrentSkipListSet(Comparator<? super E> comparator)
建構一個新的空 set,該 set 按照指定的比較器對其元素進行排序。 |
|
ConcurrentSkipListSet(SortedSet<E> s)
建構一個新 set,該 set 所包含的元素與指定的有序 set 套件含的元素相同,使用的順序也相同。 |
方法摘要 | |
---|---|
boolean |
add(E e)
如果此 set 中不包含指定元素,則添加指定元素。 |
E |
ceiling(E e)
返回此 set 中大於等於給定元素的最小元素;如果不存在這樣的元素,則返回 null 。 |
void |
clear()
從此 set 中移除所有元素。 |
ConcurrentSkipListSet<E> |
clone()
返回此 ConcurrentSkipListSet 實例的淺表副本。 |
Comparator<? super E> |
comparator()
返回對此 set 中的元素進行排序的比較器;如果此 set 使用其元素的自然順序,則返回 null。 |
boolean |
contains(Object o)
如果此 set 套件含指定的元素,則返回 true。 |
Iterator<E> |
descendingIterator()
返回在此 set 的元素上以降序進行迭代的迭代器。 |
NavigableSet<E> |
descendingSet()
返回此 set 中所包含元素的逆序視圖。 |
boolean |
equals(Object o)
比較指定對象與此 set 的相等性。 |
E |
first()
返回此 set 中當前第一個(最低)元素。 |
E |
floor(E e)
返回此 set 中小於等於給定元素的最大元素;如果不存在這樣的元素,則返回 null 。 |
NavigableSet<E> |
headSet(E toElement)
返回此 set 的部分視圖,其元素嚴格小於 toElement。 |
NavigableSet<E> |
headSet(E toElement,
boolean inclusive)
返回此 set 的部分視圖,其元素小於(或等於,如果 inclusive 為 true)toElement 。 |
E |
higher(E e)
返回此 set 中嚴格大於給定元素的最小元素;如果不存在這樣的元素,則返回 null 。 |
boolean |
isEmpty()
如果此 set 不包含任何元素,則返回 true。 |
Iterator<E> |
iterator()
返回在此 set 的元素上以升序進行迭代的迭代器。 |
E |
last()
返回此 set 中當前最後一個(最高)元素。 |
E |
lower(E e)
返回此 set 中嚴格小於給定元素的最大元素;如果不存在這樣的元素,則返回 null 。 |
E |
pollFirst()
獲取並移除第一個(最低)元素;如果此 set 為空,則返回 null 。 |
E |
pollLast()
獲取並移除最後一個(最高)元素;如果此 set 為空,則返回 null 。 |
boolean |
remove(Object o)
如果此 set 中存在指定的元素,則將其移除。 |
boolean |
removeAll(Collection<?> c)
從此 set 中移除包含在指定 collection 中的所有元素。 |
int |
size()
返回此 set 中的元素數目。 |
NavigableSet<E> |
subSet(E fromElement,
boolean fromInclusive,
E toElement,
boolean toInclusive)
返回此 set 的部分視圖,其元素範圍從 fromElement 到 toElement 。 |
NavigableSet<E> |
subSet(E fromElement,
E toElement)
返回此 set 的部分視圖,其元素從 fromElement(包括)到 toElement(不包括)。 |
NavigableSet<E> |
tailSet(E fromElement)
返回此 set 的部分視圖,其元素大於等於 fromElement。 |
NavigableSet<E> |
tailSet(E fromElement,
boolean inclusive)
返回此 set 的部分視圖,其元素大於(或等於,如果 inclusive 為 true)fromElement 。 |
從類別 java.util.AbstractSet 繼承的方法 |
---|
hashCode |
從類別 java.util.AbstractCollection 繼承的方法 |
---|
addAll, containsAll, retainAll, toArray, toArray, toString |
從類別 java.lang.Object 繼承的方法 |
---|
finalize, getClass, notify, notifyAll, wait, wait, wait |
從介面 java.util.Set 繼承的方法 |
---|
addAll, containsAll, hashCode, retainAll, toArray, toArray |
建構子詳細資訊 |
---|
public ConcurrentSkipListSet()
public ConcurrentSkipListSet(Comparator<? super E> comparator)
comparator
- 用於對此 set 進行排序的比較器。如果此參數為 null,則使用元素的自然順序。public ConcurrentSkipListSet(Collection<? extends E> c)
c
- 將組成新 set 的元素
ClassCastException
- 如果 c 中的元素不是 Comparable
,或者無法相互比較
NullPointerException
- 如果指定的 collection 或它的任何元素為 nullpublic ConcurrentSkipListSet(SortedSet<E> s)
s
- 有序 set,其元素將組成新的 set
NullPointerException
- 如果指定的有序 set 或它的任何元素為 null方法詳細資訊 |
---|
public ConcurrentSkipListSet<E> clone()
Object
中的 clone
Cloneable
public int size()
請注意,與在大多數 collection 中不同,此方法在這裡不是 一個固定時間 (constant-time) 操作。由於這些 set 的非同步特性,確定元素的當前數目需要遍歷元素以計算其數目。此外,在執行此方法期間大小可能更改,在這種情況下,返回的結果將不準確。因此,此方法在共時應用程序中通常不是很有用。
Collection<E>
中的 size
Set<E>
中的 size
AbstractCollection<E>
中的 size
public boolean isEmpty()
Collection<E>
中的 isEmpty
Set<E>
中的 isEmpty
AbstractCollection<E>
中的 isEmpty
public boolean contains(Object o)
Collection<E>
中的 contains
Set<E>
中的 contains
AbstractCollection<E>
中的 contains
o
- 檢查是否包含在此 set 中的物件
ClassCastException
- 如果指定的元素無法與此 set 中的當前元素進行比較
NullPointerException
- 如果指定的元素為 nullpublic boolean add(E e)
Collection<E>
中的 add
Set<E>
中的 add
AbstractCollection<E>
中的 add
e
- 要添加到此 set 的元素
ClassCastException
- 如果 e 無法與此 set 中的當前元素進行比較
NullPointerException
- 如果指定的元素為 nullpublic boolean remove(Object o)
Collection<E>
中的 remove
Set<E>
中的 remove
AbstractCollection<E>
中的 remove
o
- 要從此 set 中移除的物件(如果存在)
ClassCastException
- 如果 o 無法與此 set 中的當前元素進行比較
NullPointerException
- 如果指定的元素為 nullpublic void clear()
Collection<E>
中的 clear
Set<E>
中的 clear
AbstractCollection<E>
中的 clear
public Iterator<E> iterator()
Iterable<E>
中的 iterator
Collection<E>
中的 iterator
NavigableSet<E>
中的 iterator
Set<E>
中的 iterator
AbstractCollection<E>
中的 iterator
public Iterator<E> descendingIterator()
NavigableSet<E>
中的 descendingIterator
public boolean equals(Object o)
Collection<E>
中的 equals
Set<E>
中的 equals
AbstractSet<E>
中的 equals
o
- 要與此 set 進行相等性比較的物件
Object.hashCode()
,
Hashtable
public boolean removeAll(Collection<?> c)
Collection<E>
中的 removeAll
Set<E>
中的 removeAll
AbstractSet<E>
中的 removeAll
c
- 套件含要從此 set 中移除的元素的 collection
ClassCastException
- 如果此 set 中一個或多個元素的型別與指定的 collection 不相容
NullPointerException
- 如果指定的 collection 或其任何元素為 nullAbstractCollection.remove(Object)
,
AbstractCollection.contains(Object)
public E lower(E e)
NavigableSet
複製的描述null
。
NavigableSet<E>
中的 lower
e
- 要比對的值
e
的最大元素;如果不存在這樣的元素,則返回 null
ClassCastException
- 如果指定元素不能與 set 中的當前元素進行比較
NullPointerException
- 如果指定的元素為 nullpublic E floor(E e)
NavigableSet
複製的描述null
。
NavigableSet<E>
中的 floor
e
- 要比對的值
e
的最大元素;如果不存在這樣的元素,則返回 null
ClassCastException
- 如果指定元素不能與 set 中的當前元素進行比較
NullPointerException
- 如果指定的元素為 nullpublic E ceiling(E e)
NavigableSet
複製的描述null
。
NavigableSet<E>
中的 ceiling
e
- 要比對的值
e
的最小元素;如果不存在這樣的元素,則返回 null
ClassCastException
- 如果指定元素不能與 set 中的當前元素進行比較
NullPointerException
- 如果指定的元素為 nullpublic E higher(E e)
NavigableSet
複製的描述null
。
NavigableSet<E>
中的 higher
e
- 要比對的值
e
的最小元素;如果不存在這樣的元素,則返回 null
ClassCastException
- 如果指定元素不能與 set 中的當前元素進行比較
NullPointerException
- 如果指定的元素為 nullpublic E pollFirst()
NavigableSet
複製的描述null
。
NavigableSet<E>
中的 pollFirst
null
public E pollLast()
NavigableSet
複製的描述null
。
NavigableSet<E>
中的 pollLast
null
public Comparator<? super E> comparator()
SortedSet
複製的描述
SortedSet<E>
中的 comparator
public E first()
SortedSet
複製的描述
SortedSet<E>
中的 first
NoSuchElementException
- 如果此 set 為空public E last()
SortedSet
複製的描述
SortedSet<E>
中的 last
NoSuchElementException
- 如果此 set 為空public NavigableSet<E> subSet(E fromElement, boolean fromInclusive, E toElement, boolean toInclusive)
NavigableSet
複製的描述fromElement
到 toElement
。如果 fromElement
和 toElement
相等,則返回的 set 為空,除非 fromExclusive
和 toExclusive
都為 true。返回的 set 受此 set 支持,所以在返回 set 中的更改將反映在此 set 中,反之亦然。返回 set 支持此 set 支持的所有可選 set 操作。
如果試圖在返回 set 的範圍之外插入元素,則返回的 set 將拋出 IllegalArgumentException
。
NavigableSet<E>
中的 subSet
fromElement
- 返回 set 的低端點fromInclusive
- 如果低端點要包含在返回的視圖中,則為 true
toElement
- 返回 set 的高端點toInclusive
- 如果高端點要包含在返回的視圖中,則為 true
fromElement
(包括)到 toElement
(不包括)
ClassCastException
- 如果不能使用此 set 的比較器或者使用自然順序(如果 set 沒有比較器)比較 fromElement
和 toElement
。如果 fromElement
或 toElement
不能與 set 中的當前元素進行比較,則實作可以(但不是必須)拋出此異常。
NullPointerException
- 如果 fromElement
或 toElement
為 null
IllegalArgumentException
- 如果 fromElement
大於 toElement
;如果此 set 本身有範圍限制,並且 fromElement
或 toElement
位於範圍的邊界之外。public NavigableSet<E> headSet(E toElement, boolean inclusive)
NavigableSet
複製的描述inclusive
為 true)toElement
。返回的 set 受此 set 支持,所以在返回 set 中的更改將反映在此 set 中,反之亦然。返回 set 支持此 set 支持的所有可選 set 操作。
如果試圖在返回 set 的範圍之外插入元素,則返回的 set 將拋出 IllegalArgumentException
。
NavigableSet<E>
中的 headSet
toElement
- 返回 set 的高端點inclusive
- 如果高端點要包含在返回的視圖中,則為 true
inclusive
為 true)toElement
ClassCastException
- 如果 toElement
與此 set 的比較器不相容(如果 set 沒有比較器;如果 toElement
沒有實作 Comparable
)。如果 toElement
不能與 set 中的當前元素進行比較,則實作可以(但不是必須)拋出此異常。
NullPointerException
- 如果 toElement
為 null
IllegalArgumentException
- 如果此 set 本身有範圍限制,並且 toElement
位於範圍的邊界之外public NavigableSet<E> tailSet(E fromElement, boolean inclusive)
NavigableSet
複製的描述inclusive
為 true)fromElement
。返回的 set 受此 set 支持,所以在返回 set 中的更改將反映在此 set 中,反之亦然。返回 set 支持此 set 支持的所有可選 set 操作。
如果試圖在返回 set 的範圍之外插入元素,則返回的 set 將拋出 IllegalArgumentException
。
NavigableSet<E>
中的 tailSet
fromElement
- 返回 set 的低端點inclusive
- 如果低端點要包含在返回的視圖中,則為 true
fromElement
ClassCastException
- 如果 fromElement
與此 set 的比較器不相容(如果 set 沒有任何比較器;如果 fromElement
沒有實作 Comparable
)。如果 fromElement
不能與 set 中的當前元素進行比較,則實作可以(但不是必須)拋出此異常。
NullPointerException
- 如果 fromElement
為 null
IllegalArgumentException
- 如果此 set 本身有範圍限制,並且 fromElement
位於範圍的邊界之外public NavigableSet<E> subSet(E fromElement, E toElement)
NavigableSet
複製的描述如果試圖在返回 set 的範圍之外插入元素,則返回的 set 將拋出 IllegalArgumentException。
等效於 subSet(fromElement, true, toElement, false)
。
NavigableSet<E>
中的 subSet
SortedSet<E>
中的 subSet
fromElement
- 返回 set 的低端點(包括)toElement
- 返回 set 的高端點(不包括)
ClassCastException
- 如果無法使用此 set 的比較器(如果 set 沒有比較器,則使用自然順序)比較 fromElement 和 toElement。如果 fromElement 或 toElement 不能與 set 中的當前元素進行比較,則實作可以(但不是必須)拋出此異常。
NullPointerException
- 如果 fromElement
或 toElement
為 null
IllegalArgumentException
- 如果 fromElement 大於 toElement;如果此 set 本身有範圍限制,並且 fromElement 或 toElement 位於範圍的邊界之外public NavigableSet<E> headSet(E toElement)
NavigableSet
複製的描述如果試圖在返回 set 的範圍之外插入元素,則返回的 set 將拋出 IllegalArgumentException。
等效於 headSet(toElement, false)
。
NavigableSet<E>
中的 headSet
SortedSet<E>
中的 headSet
toElement
- 返回 set 的高端點(不包括)
ClassCastException
- 如果 toElement 與此 set 的比較器不相容(如果 set 沒有比較器;如果 toElement 沒有實作 Comparable
)。如果 toElement 不能與 set 中的當前元素進行比較,則實作可以(但不是必須)拋出此異常。
NullPointerException
- 如果 toElement
為 null
IllegalArgumentException
- 如果此 set 本身有範圍限制,並且 toElement 位於範圍的邊界之外public NavigableSet<E> tailSet(E fromElement)
NavigableSet
複製的描述如果試圖在返回 set 的範圍之外插入元素,則返回的 set 將拋出 IllegalArgumentException。
等效於 tailSet(fromElement, true)
。
NavigableSet<E>
中的 tailSet
SortedSet<E>
中的 tailSet
fromElement
- 返回 set 的低端點(包括)
ClassCastException
- 如果 fromElement 與此 set 的比較器不相容(如果 set 沒有比較器;如果 fromElement 沒有實作 Comparable
)。如果 fromElement 不能與 set 中的當前元素進行比較,則實作可以(但不是必須)拋出此異常。
NullPointerException
- 如果 fromElement
為 null
IllegalArgumentException
- 如果此 set 本身有範圍限制,並且 fromElement 位於範圍的邊界之外public NavigableSet<E> descendingSet()
返回 set 的順序等於 Collections.reverseOrder
(comparator())。表達式 s.descendingSet().descendingSet()
返回的 s
視圖基本等效於 s
。
NavigableSet<E>
中的 descendingSet
|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
上一個類別 下一個類別 | 框架 無框架 | |||||||||
摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 |
版權所有 2008 Sun Microsystems, Inc. 保留所有權利。請遵守GNU General Public License, version 2 only。