E
- このセットで保持される要素の型public class ConcurrentSkipListSet<E> extends AbstractSet<E> implements NavigableSet<E>, Cloneable, Serializable
ConcurrentSkipListMap
に基づくスケーラブルな並行 NavigableSet
実装です。セットの要素は、どのコンストラクタが使用されているかに応じて、その自然順序付けに従って、またはセット作成時に提供される Comparator
によってソートされます。
この実装は、contains、add、および remove オペレーションとそれらのバリアントに予想される平均 log(n) 時間コストを提供します。挿入、削除、アクセスの各オペレーションは、複数のスレッドによって並行して、安全に実行されます。イテレータは弱一貫性を持ち、ある時点での、またはイテレータの作成以降のセットの状態を反映する要素を返します。これらは ConcurrentModificationException
をスローせず、ほかのオペレーションとの並行処理が可能です。昇順で並べられたビューとそのイテレータは、降順の場合よりも高速になります。
大半のコレクションとは異なり、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()
このセット中の要素の数を返します。
|
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 の場合はそれよりも大きいかそれと等しい要素) を含む部分のビューを返します。 |
hashCode
addAll, containsAll, retainAll, toArray, toArray, toString
public 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()
public int size()
大半のコレクションとは異なり、このメソッドは一定時間のオペレーションではないことに留意してください。これらのセットには非同期という特性があるため、現在の要素数を判定するには要素すべてをトラバースしてカウントする必要があります。また、このメソッドの実行中にサイズが変更される可能性もあり、その場合、返される値は不正確になります。そのため、このメソッドは、通常は並行処理アプリケーションではあまり便利ではありません。
size
、インタフェース: Collection<E>
size
、インタフェース: Set<E>
size
、クラス: AbstractCollection<E>
public boolean isEmpty()
isEmpty
、インタフェース: Collection<E>
isEmpty
、インタフェース: Set<E>
isEmpty
、クラス: AbstractCollection<E>
public boolean contains(Object o)
contains
、インタフェース: Collection<E>
contains
、インタフェース: Set<E>
contains
、クラス: AbstractCollection<E>
o
- このセットに含まれているかどうかがチェックされるオブジェクトClassCastException
- 指定された要素がこのセット内に現在ある要素と比較できない場合NullPointerException
- 指定された要素が null である場合public boolean add(E e)
add
、インタフェース: Collection<E>
add
、インタフェース: Set<E>
add
、クラス: AbstractCollection<E>
e
- このセットに追加される要素ClassCastException
- e が現在このセット内にある要素と比較できない場合NullPointerException
- 指定された要素が null である場合public boolean remove(Object o)
remove
、インタフェース: Collection<E>
remove
、インタフェース: Set<E>
remove
、クラス: AbstractCollection<E>
o
- このセットから削除されるオブジェクト (そのオブジェクトが存在する場合)ClassCastException
- 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)
equals
、インタフェース: Collection<E>
equals
、インタフェース: Set<E>
equals
、クラス: AbstractSet<E>
o
- このセットと等しいかどうかを比較するオブジェクトObject.hashCode()
、HashMap
public boolean removeAll(Collection<?> c)
removeAll
、インタフェース: Collection<E>
removeAll
、インタフェース: Set<E>
removeAll
、クラス: AbstractSet<E>
c
- このセットから削除される要素を含むコレクションClassCastException
- このセット内の 1 つまたは複数の要素の型が、指定されたコレクションと互換性がない場合NullPointerException
- 指定されたコレクションまたはそのいずれかの要素が null である場合AbstractCollection.remove(Object)
, AbstractCollection.contains(Object)
public E lower(E e)
NavigableSet
null
を返します。lower
、インタフェース: NavigableSet<E>
e
- 照合する値e
よりも小さい要素の中で最大のもの。そのような要素が存在しない場合は null
ClassCastException
- 指定された要素を、セット内に現在存在している要素と比較できない場合NullPointerException
- 指定された要素が null である場合public E floor(E e)
NavigableSet
null
を返します。floor
、インタフェース: NavigableSet<E>
e
- 照合する値e
と等しいか、それよりも小さい要素の中で最大のもの。そのような要素が存在しない場合は null
ClassCastException
- 指定された要素を、セット内に現在存在している要素と比較できない場合NullPointerException
- 指定された要素が null である場合public E ceiling(E e)
NavigableSet
null
を返します。ceiling
、インタフェース: NavigableSet<E>
e
- 照合する値e
と等しいか、それよりも大きい要素の中で最小のもの。そのような要素が存在しない場合は null
ClassCastException
- 指定された要素を、セット内に現在存在している要素と比較できない場合NullPointerException
- 指定された要素が null である場合public E higher(E e)
NavigableSet
null
を返します。higher
、インタフェース: NavigableSet<E>
e
- 照合する値e
よりも大きい要素の中で最小のもの。そのような要素が存在しない場合は null
ClassCastException
- 指定された要素を、セット内に現在存在している要素と比較できない場合NullPointerException
- 指定された要素が null である場合public E pollFirst()
NavigableSet
null
を返します。pollFirst
、インタフェース: NavigableSet<E>
null
public E pollLast()
NavigableSet
null
を返します。pollLast
、インタフェース: NavigableSet<E>
null
public Comparator<? super E> comparator()
SortedSet
comparator
、インタフェース: SortedSet<E>
public E first()
SortedSet
first
、インタフェース: SortedSet<E>
NoSuchElementException
- このセットが空の場合public E last()
SortedSet
last
、インタフェース: SortedSet<E>
NoSuchElementException
- このセットが空の場合public NavigableSet<E> subSet(E fromElement, boolean fromInclusive, E toElement, boolean toInclusive)
NavigableSet
fromElement
- toElement
の要素範囲を持つ部分のビューを返します。fromElement
と toElement
が等しい場合、返されるセットは、fromInclusive
と toInclusive
の両方が true でないかぎり、空になります。返されるセットはこのセットに連動しており、返されるセットでの変更はこのセットに反映され、その逆の場合も同様です。返されるセットは、このセットがサポートする任意のセットオペレーションをすべてサポートします。
返されるセットは、その範囲外の要素が挿入されようとすると、IllegalArgumentException
をスローします。
subSet
、インタフェース: NavigableSet<E>
fromElement
- 返されるセットの下端点fromInclusive
- 返されるビューに下端点が含まれる場合は true
toElement
- 返されるセットの上端点toInclusive
- 返されるビューに上端点が含まれる場合は true
fromElement
(これを含む) - toElement
(これを含まない) の要素範囲を持つ部分のビューClassCastException
- このセットのコンパレータを使用して (このセットがコンパレータを持たない場合は自然順序付けを使用して)、fromElement
と toElement
の相互比較を行えない場合。実装は、セット内に現在存在している要素と fromElement
または toElement
とを比較できない場合にこの例外をスローできる。ただし、必須ではない。NullPointerException
- fromElement
または toElement
が null である場合IllegalArgumentException
- fromElement
が toElement
よりも大きい場合、またはこのセット自体が制限された範囲を持っており、fromElement
または toElement
がその範囲から外れている場合。public NavigableSet<E> headSet(E toElement, boolean inclusive)
NavigableSet
toElement
よりも小さい要素 (inclusive
が true の場合はそれよりも小さいかそれと等しい要素) を含む部分のビューを返します。返されるセットはこのセットに連動しており、返されるセットでの変更はこのセットに反映され、その逆の場合も同様です。返されるセットは、このセットがサポートする任意のセットオペレーションをすべてサポートします。
返されるセットは、その範囲外の要素が挿入されようとすると、IllegalArgumentException
をスローします。
headSet
、インタフェース: NavigableSet<E>
toElement
- 返されるセットの上端点inclusive
- 返されるビューに上端点が含まれる場合は true
toElement
よりも小さい要素 (inclusive
が true の場合はそれよりも小さいかそれと等しい要素) を含む部分のビューClassCastException
- toElement
がこのセットのコンパレータと互換性がない場合 (または、そのセットがコンパレータを持たない場合、toElement
が Comparable
を実装していない場合)。実装は、セット内に現在存在している要素と toElement
とを比較できない場合にこの例外をスローできる。ただし、必須ではない。NullPointerException
- toElement
が null である場合IllegalArgumentException
- このセット自体が制限された範囲を持っており、toElement
がその範囲から外れている場合public NavigableSet<E> tailSet(E fromElement, boolean inclusive)
NavigableSet
fromElement
よりも大きい要素 (inclusive
が true の場合はそれよりも大きいかそれと等しい要素) を含む部分のビューを返します。返されるセットはこのセットに連動しており、返されるセットでの変更はこのセットに反映され、その逆の場合も同様です。返されるセットは、このセットがサポートする任意のセットオペレーションをすべてサポートします。
返されるセットは、その範囲外の要素が挿入されようとすると、IllegalArgumentException
をスローします。
tailSet
、インタフェース: NavigableSet<E>
fromElement
- 返されるセットの下端点inclusive
- 返されるビューに下端点が含まれる場合は true
fromElement
に等しいかそれよりも大きい要素を持つ部分のビュー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>
バグまたは機能を送信
詳細な API リファレンスおよび開発者ドキュメントについては、Java SE のドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright © 1993, 2013, Oracle and/or its affiliates. All rights reserved.