E - このセットで保持される要素の型public class ConcurrentSkipListSet<E> extends AbstractSet<E> implements NavigableSet<E>, Cloneable, Serializable
ConcurrentSkipListMapに基づくスケーラブルな並行NavigableSet実装です。セットの要素は、どのコンストラクタが使用されているかに応じて、その自然順序付けに従って、またはセット作成時に提供されるComparatorによってソートされます。
この実装は、contains、add、およびremoveオペレーションとそれらのバリアントに予想される平均log(n)時間コストを提供します。挿入、削除、アクセスの各オペレーションは、複数のスレッドによって並行して、安全に実行されます。
イテレータおよびスプリッテレータは弱一貫性を持っています。
昇順で並べられたビューとそのイテレータは、降順の場合よりも高速になります。
大半のコレクションとは異なり、sizeメソッドは一定時間のオペレーションではないことに留意してください。これらのセットには非同期という特性があるため、現在の要素数を判定するには要素のトラバーサルが必要になります。そのため、このコレクションがトラバーサル中に変更された場合は、不正確な結果が報告される可能性があります。また、addAll、removeAll、retainAll、containsAll、equals、およびtoArrayの一括オペレーションについて、原子的な実行は保証されていません。たとえば、addAllオペレーションと並行して動作するイテレータは、追加された要素の一部しか表示しないことがあります。
このクラスとそのイテレータは、SetおよびIteratorインタフェースのすべてのオプションメソッドを実装します。他のほとんどの並行処理コレクションの実装と同様、このクラスはnull要素の使用を許可しません。これは、nullの引数と戻り値は要素がない場合と確実に区別できないためです。
このクラスは、Java Collections Frameworkのメンバーです。
| コンストラクタと説明 |
|---|
ConcurrentSkipListSet()
自然順序付けに従って要素を順序付けする、新しい空のセットを作成します。
|
ConcurrentSkipListSet(Collection<? extends E> c)
指定されたコレクション内の要素を持ち、要素をその自然順序付けに従って順序付けする新しいセットを作成します。
|
ConcurrentSkipListSet(Comparator<? super E> comparator)
指定されたコンパレータに従って要素の順序付けを行う、新しい空のセットを作成します。
|
ConcurrentSkipListSet(SortedSet<E> s)
指定されたソート・セットと同じ要素を持ち、同じ順序付けを使用する、新しいセットを作成します。
|
| 修飾子と型 | メソッドと説明 |
|---|---|
boolean |
add(E e)
指定された要素がセットの要素として存在しない場合に、その要素をセットに追加します。
|
E |
ceiling(E e)
このセット内で、指定された要素と等しいかそれよりも大きい要素の中で最小のものを返します。そのような要素が存在しない場合は
nullを返します。 |
void |
clear()
すべての要素をセットから削除します。
|
ConcurrentSkipListSet<E> |
clone()
ConcurrentSkipListSetのインスタンスのシャロー・コピーを返します。 |
Comparator<? super E> |
comparator()
このセット内の要素を順序付けするために使うコンパレータを返します。ただし、このセットがその要素の自然順序付けを使う場合はnullを返します。
|
boolean |
contains(Object o)
指定された要素がセットに含まれている場合に
trueを返します。 |
Iterator<E> |
descendingIterator()
このセットの要素のイテレータを降順で返します。
|
NavigableSet<E> |
descendingSet()
このセットに含まれる要素の逆順のビューを返します。
|
boolean |
equals(Object o)
指定されたオブジェクトがセットと同じかどうかを比較します。
|
E |
first()
セット内に現在ある最初(下端)の要素を返します。
|
E |
floor(E e)
このセット内で、指定された要素と等しいかそれよりも小さい要素の中で最大のものを返します。そのような要素が存在しない場合は
nullを返します。 |
NavigableSet<E> |
headSet(E toElement)
このセットのtoElementよりも確実に小さい要素を持つ部分のビューを返します。
|
NavigableSet<E> |
headSet(E toElement, boolean inclusive)
このセットの
toElementよりも小さい要素(inclusiveがtrueの場合はそれよりも小さいかそれと等しい要素)を含む部分のビューを返します。 |
E |
higher(E e)
このセット内で、指定された要素よりも確実に大きい要素の中で最小のものを返します。そのような要素が存在しない場合は
nullを返します。 |
boolean |
isEmpty()
このセットに要素が1つも含まれていない場合に
trueを返します。 |
Iterator<E> |
iterator()
このセットの要素のイテレータを昇順で返します。
|
E |
last()
セット内に現在ある最後(上端)の要素を返します。
|
E |
lower(E e)
このセット内で、指定された要素よりも確実に小さい要素の中で最大のものを返します。そのような要素が存在しない場合は
nullを返します。 |
E |
pollFirst()
最初(下端)の要素を取得して削除します。このセットが空の場合は
nullを返します。 |
E |
pollLast()
最後(上端)の要素を取得して削除します。このセットが空の場合は
nullを返します。 |
boolean |
remove(Object o)
指定された要素がこのセットに存在する場合に、要素をセットから削除します。
|
boolean |
removeAll(Collection<?> c)
セットから、指定されたコレクション内に保持されているすべての要素を削除します。
|
int |
size()
このセット中の要素の数を返します。
|
Spliterator<E> |
spliterator()
このセット内の要素に対する
Spliteratorを返します。 |
NavigableSet<E> |
subSet(E fromElement, boolean fromInclusive, E toElement, boolean toInclusive)
このセットの
fromElement - toElementの要素範囲を持つ部分のビューを返します。 |
NavigableSet<E> |
subSet(E fromElement, E toElement)
このセットのfromElement (これを含む) - toElement (これを含まない)の要素範囲を持つ部分のビューを返します。
|
NavigableSet<E> |
tailSet(E fromElement)
このセットのfromElementに等しいかそれよりも大きい要素を持つ部分のビューを返します。
|
NavigableSet<E> |
tailSet(E fromElement, boolean inclusive)
このセットの
fromElementよりも大きい要素(inclusiveがtrueの場合はそれよりも大きいかそれと等しい要素)を含む部分のビューを返します。 |
hashCodeaddAll, containsAll, retainAll, toArray, toArray, toStringparallelStream, removeIf, streampublic ConcurrentSkipListSet()
public ConcurrentSkipListSet(Comparator<? super E> comparator)
comparator - このセットの順序付けを行うために使用されるコンパレータ。nullの場合は、要素の自然順序付けが使用される。public ConcurrentSkipListSet(Collection<? extends E> c)
c - 新しいセットを構成する要素ClassCastException - c内の要素がComparableでないか、または相互に比較可能でない場合NullPointerException - 指定されたコレクションまたはそのいずれかの要素がnullである場合public ConcurrentSkipListSet(SortedSet<E> s)
s - 新しいセットを構成する要素からなるソート・セットNullPointerException - 指定されたソート・セット、またはその要素のいずれかがnullの場合public ConcurrentSkipListSet<E> clone()
ConcurrentSkipListSetのインスタンスのシャロー・コピーを返します。要素自体は複製されません。public int size()
Integer.MAX_VALUEを超える要素が含まれている場合は、Integer.MAX_VALUEを返します。
大半のコレクションとは異なり、このメソッドは一定時間のオペレーションではないことに留意してください。これらのセットには非同期という特性があるため、現在の要素数を判定するには要素すべてをトラバースしてカウントする必要があります。また、このメソッドの実行中にサイズが変更される可能性もあり、その場合、返される値は不正確になります。そのため、このメソッドは、通常は並行処理アプリケーションではあまり便利ではありません。
size、インタフェース: Collection<E>size、インタフェース: Set<E>size、クラス: AbstractCollection<E>public boolean isEmpty()
trueを返します。isEmpty、インタフェース: Collection<E>isEmpty、インタフェース: Set<E>isEmpty、クラス: AbstractCollection<E>truepublic boolean contains(Object o)
trueを返します。つまり、このセットにo.equals(e)となる要素eが含まれている場合にだけtrueを返します。contains、インタフェース: Collection<E>contains、インタフェース: Set<E>contains、クラス: AbstractCollection<E>o - このセットに含まれているかどうかがチェックされるオブジェクトtrueClassCastException - 指定された要素がこのセット内に現在ある要素と比較できない場合NullPointerException - 指定された要素がnullである場合public boolean add(E e)
e.equals(e2)となる要素e2が含まれていない場合は、指定された要素eをこのセットに追加します。このセット内にすでにその要素が含まれている場合、この呼出しではセットを変更せずにfalseを返します。add、インタフェース: Collection<E>add、インタフェース: Set<E>add、クラス: AbstractCollection<E>e - このセットに追加される要素trueClassCastException - eが現在このセット内にある要素と比較できない場合NullPointerException - 指定された要素がnullである場合public boolean remove(Object o)
o.equals(e)となる要素eが含まれている場合は、そのような要素を削除します。その要素がこのセットに含まれていた場合、つまり、呼出しの結果としてこのセットが変更された場合はtrueを返します。呼出しが復帰したあとは、このセットはその要素を持っていません。remove、インタフェース: Collection<E>remove、インタフェース: Set<E>remove、クラス: AbstractCollection<E>o - このセットから削除されるオブジェクト(そのオブジェクトが存在する場合)trueClassCastException - oが現在このセット内にある要素と比較できない場合NullPointerException - 指定された要素がnullである場合public void clear()
clear、インタフェース: Collection<E>clear、インタフェース: Set<E>clear、クラス: AbstractCollection<E>public Iterator<E> iterator()
iterator、インタフェース: Iterable<E>iterator、インタフェース: Collection<E>iterator、インタフェース: NavigableSet<E>iterator、インタフェース: Set<E>iterator、クラス: AbstractCollection<E>public Iterator<E> descendingIterator()
descendingIterator、インタフェース: NavigableSet<E>public boolean equals(Object o)
trueを返します。この定義により、equalsメソッドがセット・インタフェースのさまざまな実装で適切に動作することが保証されます。equals、インタフェース: Collection<E>equals、インタフェース: Set<E>equals、クラス: AbstractSet<E>o - このセットと等しいかどうかを比較するオブジェクトtrueObject.hashCode()、HashMappublic boolean removeAll(Collection<?> c)
removeAll、インタフェース: Collection<E>removeAll、インタフェース: Set<E>removeAll、クラス: AbstractSet<E>c - このセットから削除される要素を含むコレクションtrueClassCastException - このセット内の1つまたは複数の要素の型が、指定されたコレクションと互換性がない場合NullPointerException - 指定されたコレクションまたはそのいずれかの要素がnullである場合AbstractCollection.remove(Object), AbstractCollection.contains(Object)public E lower(E e)
NavigableSetnullを返します。lower、インタフェース: NavigableSet<E>e - 照合する値eよりも小さい要素の中で最大のもの。そのような要素が存在しない場合はnullClassCastException - 指定された要素を、セット内に現在存在している要素と比較できない場合NullPointerException - 指定された要素がnullである場合public E floor(E e)
NavigableSetnullを返します。floor、インタフェース: NavigableSet<E>e - 照合する値eと等しいか、それよりも小さい要素の中で最大のもの。そのような要素が存在しない場合はnullClassCastException - 指定された要素を、セット内に現在存在している要素と比較できない場合NullPointerException - 指定された要素がnullである場合public E ceiling(E e)
NavigableSetnullを返します。ceiling、インタフェース: NavigableSet<E>e - 照合する値eと等しいか、それよりも大きい要素の中で最小のもの。そのような要素が存在しない場合はnullClassCastException - 指定された要素を、セット内に現在存在している要素と比較できない場合NullPointerException - 指定された要素がnullである場合public E higher(E e)
NavigableSetnullを返します。higher、インタフェース: NavigableSet<E>e - 照合する値eよりも大きい要素の中で最小のもの。そのような要素が存在しない場合はnullClassCastException - 指定された要素を、セット内に現在存在している要素と比較できない場合NullPointerException - 指定された要素がnullである場合public E pollFirst()
NavigableSetnullを返します。pollFirst、インタフェース: NavigableSet<E>nullpublic E pollLast()
NavigableSetnullを返します。pollLast、インタフェース: NavigableSet<E>nullpublic Comparator<? super E> comparator()
SortedSetcomparator、インタフェース: SortedSet<E>public E first()
SortedSetfirst、インタフェース: SortedSet<E>NoSuchElementException - このセットが空の場合public E last()
SortedSetlast、インタフェース: SortedSet<E>NoSuchElementException - このセットが空の場合public NavigableSet<E> subSet(E fromElement, boolean fromInclusive, E toElement, boolean toInclusive)
NavigableSetfromElement - toElementの要素範囲を持つ部分のビューを返します。fromElementとtoElementが等しい場合、返されるセットは、fromInclusiveとtoInclusiveの両方がtrueでないかぎり、空になります。返されるセットはこのセットに連動しており、返されるセットでの変更はこのセットに反映され、その逆の場合も同様です。返されるセットは、このセットがサポートする任意のセット・オペレーションをすべてサポートします。
返されるセットは、その範囲外の要素が挿入されようとすると、IllegalArgumentExceptionをスローします。
subSet、インタフェース: NavigableSet<E>fromElement - 返されるセットの下端点fromInclusive - 返されるビューに下端点が含まれる場合はtruetoElement - 返されるセットの上端点toInclusive - 返されるビューに上端点が含まれる場合はtruefromElement (これを含む) - toElement (これを含まない)の要素範囲を持つ部分のビューClassCastException - このセットのコンパレータを使用して(このセットがコンパレータを持たない場合は自然順序付けを使用して)、fromElementとtoElementを相互に比較できない場合。実装は、セット内に現在存在している要素とfromElementまたはtoElementとを比較できない場合にこの例外をスローできる。ただし、必須ではない。NullPointerException - fromElementまたはtoElementがnullである場合IllegalArgumentException - fromElementがtoElementよりも大きい場合、またはこのセット自体が制限された範囲を持っており、fromElementまたはtoElementがその範囲から外れている場合。public NavigableSet<E> headSet(E toElement, boolean inclusive)
NavigableSettoElementよりも小さい要素(inclusiveがtrueの場合はそれよりも小さいかそれと等しい要素)を含む部分のビューを返します。返されるセットはこのセットに連動しており、返されるセットでの変更はこのセットに反映され、その逆の場合も同様です。返されるセットは、このセットがサポートする任意のセット・オペレーションをすべてサポートします。
返されるセットは、その範囲外の要素が挿入されようとすると、IllegalArgumentExceptionをスローします。
headSet、インタフェース: NavigableSet<E>toElement - 返されるセットの上端点inclusive - 返されるビューに上端点が含まれる場合はtruetoElementよりも小さい要素(inclusiveがtrueの場合はそれよりも小さいかそれと等しい要素)を含む部分のビューClassCastException - toElementがこのセットのコンパレータと互換性がない場合(または、そのセットがコンパレータを持たない場合、toElementがComparableを実装していない場合)。実装は、セット内に現在存在している要素とtoElementとを比較できない場合にこの例外をスローできる。ただし、必須ではない。NullPointerException - toElementがnullである場合IllegalArgumentException - このセット自体が制限された範囲を持っており、toElementがその範囲から外れている場合public NavigableSet<E> tailSet(E fromElement, boolean inclusive)
NavigableSetfromElementよりも大きい要素(inclusiveがtrueの場合はそれよりも大きいかそれと等しい要素)を含む部分のビューを返します。返されるセットはこのセットに連動しており、返されるセットでの変更はこのセットに反映され、その逆の場合も同様です。返されるセットは、このセットがサポートする任意のセット・オペレーションをすべてサポートします。
返されるセットは、その範囲外の要素が挿入されようとすると、IllegalArgumentExceptionをスローします。
tailSet、インタフェース: NavigableSet<E>fromElement - 返されるセットの下端点inclusive - 返されるビューに下端点が含まれる場合はtruefromElementに等しいかそれよりも大きい要素を持つ部分のビューClassCastException - fromElementがこのセットのコンパレータと互換性がない場合(または、そのセットがコンパレータを持たない場合、fromElementがComparableを実装していない場合)。実装は、セット内に現在存在している要素とfromElementとを比較できない場合にこの例外をスローできる。ただし、必須ではない。NullPointerException - fromElementがnullである場合IllegalArgumentException - このセット自体が制限された範囲を持っており、fromElementがその範囲から外れている場合public NavigableSet<E> subSet(E fromElement, E toElement)
NavigableSet返されるセットは、その範囲外の要素が挿入されようとすると、IllegalArgumentExceptionをスローします。
subSet(fromElement, true, toElement, false)と同等です。
subSet、インタフェース: NavigableSet<E>subSet、インタフェース: SortedSet<E>fromElement - 返されるセットの下端点(これを含む)toElement - 返されるセットの上端点(これを含まない)ClassCastException - このセットのコンパレータを使用して(このセットがコンパレータを持たない場合は自然順序付けを使用して)、fromElementとtoElementを相互に比較できない場合。実装は、セット内に現在存在している要素とfromElementまたはtoElementとを比較できない場合にこの例外をスローできる。ただし、必須ではない。NullPointerException - fromElementまたはtoElementがnullである場合IllegalArgumentException - fromElementがtoElementよりも大きい場合、またはこのセット自体が制限された範囲を持っており、fromElementまたはtoElementがその範囲から外れている場合public NavigableSet<E> headSet(E toElement)
NavigableSet返されるセットは、その範囲外の要素が挿入されようとすると、IllegalArgumentExceptionをスローします。
headSet(toElement, false)と同等です。
headSet、インタフェース: NavigableSet<E>headSet、インタフェース: SortedSet<E>toElement - 返されるセットの上端点(これを含まない)ClassCastException - toElementがこのセットのコンパレータと互換性がない場合(または、そのセットがコンパレータを持たない場合、toElementがComparableを実装していない場合)。実装は、セット内に現在存在している要素とtoElementとを比較できない場合にこの例外をスローできる。ただし、必須ではない。NullPointerException - toElementがnullである場合IllegalArgumentException - このセット自体が制限された範囲を持っており、toElementがその範囲から外れている場合public NavigableSet<E> tailSet(E fromElement)
NavigableSet返されるセットは、その範囲外の要素が挿入されようとすると、IllegalArgumentExceptionをスローします。
tailSet(fromElement, true)と同等です。
tailSet、インタフェース: NavigableSet<E>tailSet、インタフェース: SortedSet<E>fromElement - 返されるセットの下端点(これを含む)ClassCastException - fromElementがこのセットのコンパレータと互換性がない場合(または、そのセットがコンパレータを持たない場合、fromElementがComparableを実装していない場合)。実装は、セット内に現在存在している要素とfromElementとを比較できない場合にこの例外をスローできる。ただし、必須ではない。NullPointerException - fromElementがnullである場合IllegalArgumentException - このセット自体が制限された範囲を持っており、fromElementがその範囲から外れている場合public NavigableSet<E> descendingSet()
返されるセットの順序付けは、Collections.reverseOrder(comparator())と同等になります。式s.descendingSet().descendingSet()から返されるsのビューは基本的にsと同等になります。
descendingSet、インタフェース: NavigableSet<E>public Spliterator<E> spliterator()
Spliteratorを返します。
Spliteratorは、Spliterator.CONCURRENT、Spliterator.NONNULL、Spliterator.DISTINCT、Spliterator.SORTEDおよびSpliterator.ORDERED(昇順である検出順序で)を報告します。オーバーライドする実装は、追加の特性値の報告をドキュメント化する必要があります。
セットのコンパレータ(comparator()を参照)がnullである場合、スプリッテレータのコンパレータ(Spliterator.getComparator()を参照)はnullです。それ以外の場合、スプリッテレータのコンパレータはセットのコンパレータと同じであるか、同じ全体順序付けを義務付けます。
spliterator、インタフェース: Iterable<E>spliterator、インタフェース: Collection<E>spliterator、インタフェース: Set<E>spliterator、インタフェース: SortedSet<E>Spliterator バグまたは機能を送信
詳細なAPIリファレンスおよび開発者ドキュメントについては、Java SEのドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright© 1993, 2014, Oracle and/or its affiliates. All rights reserved.