|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
| 上一個類別 下一個類別 | 框架 無框架 | |||||||||
| 摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 | |||||||||
java.lang.Objectjava.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 中的 cloneCloneablepublic int size()
請注意,與在大多數 collection 中不同,此方法在這裡不是 一個固定時間 (constant-time) 操作。由於這些 set 的非同步特性,確定元素的當前數目需要遍歷元素以計算其數目。此外,在執行此方法期間大小可能更改,在這種情況下,返回的結果將不準確。因此,此方法在共時應用程序中通常不是很有用。
Collection<E> 中的 sizeSet<E> 中的 sizeAbstractCollection<E> 中的 sizepublic boolean isEmpty()
Collection<E> 中的 isEmptySet<E> 中的 isEmptyAbstractCollection<E> 中的 isEmptypublic boolean contains(Object o)
Collection<E> 中的 containsSet<E> 中的 containsAbstractCollection<E> 中的 containso - 檢查是否包含在此 set 中的物件
ClassCastException - 如果指定的元素無法與此 set 中的當前元素進行比較
NullPointerException - 如果指定的元素為 nullpublic boolean add(E e)
Collection<E> 中的 addSet<E> 中的 addAbstractCollection<E> 中的 adde - 要添加到此 set 的元素
ClassCastException - 如果 e 無法與此 set 中的當前元素進行比較
NullPointerException - 如果指定的元素為 nullpublic boolean remove(Object o)
Collection<E> 中的 removeSet<E> 中的 removeAbstractCollection<E> 中的 removeo - 要從此 set 中移除的物件(如果存在)
ClassCastException - 如果 o 無法與此 set 中的當前元素進行比較
NullPointerException - 如果指定的元素為 nullpublic void clear()
Collection<E> 中的 clearSet<E> 中的 clearAbstractCollection<E> 中的 clearpublic Iterator<E> iterator()
Iterable<E> 中的 iteratorCollection<E> 中的 iteratorNavigableSet<E> 中的 iteratorSet<E> 中的 iteratorAbstractCollection<E> 中的 iteratorpublic Iterator<E> descendingIterator()
NavigableSet<E> 中的 descendingIteratorpublic boolean equals(Object o)
Collection<E> 中的 equalsSet<E> 中的 equalsAbstractSet<E> 中的 equalso - 要與此 set 進行相等性比較的物件
Object.hashCode(),
Hashtablepublic boolean removeAll(Collection<?> c)
Collection<E> 中的 removeAllSet<E> 中的 removeAllAbstractSet<E> 中的 removeAllc - 套件含要從此 set 中移除的元素的 collection
ClassCastException - 如果此 set 中一個或多個元素的型別與指定的 collection 不相容
NullPointerException - 如果指定的 collection 或其任何元素為 nullAbstractCollection.remove(Object),
AbstractCollection.contains(Object)public E lower(E e)
NavigableSet 複製的描述null。
NavigableSet<E> 中的 lowere - 要比對的值
e 的最大元素;如果不存在這樣的元素,則返回 null
ClassCastException - 如果指定元素不能與 set 中的當前元素進行比較
NullPointerException - 如果指定的元素為 nullpublic E floor(E e)
NavigableSet 複製的描述null。
NavigableSet<E> 中的 floore - 要比對的值
e 的最大元素;如果不存在這樣的元素,則返回 null
ClassCastException - 如果指定元素不能與 set 中的當前元素進行比較
NullPointerException - 如果指定的元素為 nullpublic E ceiling(E e)
NavigableSet 複製的描述null。
NavigableSet<E> 中的 ceilinge - 要比對的值
e 的最小元素;如果不存在這樣的元素,則返回 null
ClassCastException - 如果指定元素不能與 set 中的當前元素進行比較
NullPointerException - 如果指定的元素為 nullpublic E higher(E e)
NavigableSet 複製的描述null。
NavigableSet<E> 中的 highere - 要比對的值
e 的最小元素;如果不存在這樣的元素,則返回 null
ClassCastException - 如果指定元素不能與 set 中的當前元素進行比較
NullPointerException - 如果指定的元素為 nullpublic E pollFirst()
NavigableSet 複製的描述null。
NavigableSet<E> 中的 pollFirstnullpublic E pollLast()
NavigableSet 複製的描述null。
NavigableSet<E> 中的 pollLastnullpublic Comparator<? super E> comparator()
SortedSet 複製的描述
SortedSet<E> 中的 comparatorpublic E first()
SortedSet 複製的描述
SortedSet<E> 中的 firstNoSuchElementException - 如果此 set 為空public E last()
SortedSet 複製的描述
SortedSet<E> 中的 lastNoSuchElementException - 如果此 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> 中的 subSetfromElement - 返回 set 的低端點fromInclusive - 如果低端點要包含在返回的視圖中,則為 truetoElement - 返回 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> 中的 headSettoElement - 返回 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> 中的 tailSetfromElement - 返回 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> 中的 subSetSortedSet<E> 中的 subSetfromElement - 返回 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> 中的 headSetSortedSet<E> 中的 headSettoElement - 返回 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> 中的 tailSetSortedSet<E> 中的 tailSetfromElement - 返回 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。