|
JavaTM Platform Standard Ed. 6 |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
java.lang.Object java.util.AbstractCollection<E> java.util.AbstractSet<E> java.util.concurrent.CopyOnWriteArraySet<E>
E
- コレクション内に存在する要素の型public class CopyOnWriteArraySet<E>
すべての操作で内部 CopyOnWriteArrayList
を使用する Set
。このため、同じ基本プロパティーが共有されます。
使用例。 次のコード例では、copy-on-write 設定を使用して、状態が更新されたときに特定のアクションを実行する Handler オブジェクトのセットを管理します。
class Handler { void handle(); ... } class X { private final CopyOnWriteArraySet<Handler> handlers = new CopyOnWriteArraySet<Handler>(); public void addHandler(Handler h) { handlers.add(h); } private long internalState; private synchronized void changeState() { internalState = ...; } public void update() { changeState(); for (Handler handler : handlers) handler.handle(); } }
このクラスは、Java Collections Framework のメンバーです。
CopyOnWriteArrayList
,
直列化された形式コンストラクタの概要 | |
---|---|
CopyOnWriteArraySet()
空のセットを作成します。 |
|
CopyOnWriteArraySet(Collection<? extends E> c)
指定されたコレクションの要素すべてを含むセットを作成します。 |
メソッドの概要 | ||
---|---|---|
boolean |
add(E e)
指定された要素がセットの要素として存在しない場合に、その要素をセットに追加します。 |
|
boolean |
addAll(Collection<? extends E> c)
指定されたコレクションのすべての要素について、その要素がこのセット内にない場合、セットに追加します。 |
|
void |
clear()
すべての要素をセットから削除します。 |
|
boolean |
contains(Object o)
セットが、指定された要素を保持している場合に true を返します。 |
|
boolean |
containsAll(Collection<?> c)
指定されたコレクションのすべての要素がセット内にある場合に true を返します。 |
|
boolean |
equals(Object o)
指定されたオブジェクトがセットと同じかどうかを比較します。 |
|
boolean |
isEmpty()
セットが要素を 1 つも保持していない場合に true を返します。 |
|
Iterator<E> |
iterator()
このセットに含まれる各要素についての反復子を、これらの要素が追加された順序で返します。 |
|
boolean |
remove(Object o)
指定された要素がこのセットに存在する場合に、要素をセットから削除します。 |
|
boolean |
removeAll(Collection<?> c)
セットから、指定されたコレクション内に保持されているすべての要素を削除します。 |
|
boolean |
retainAll(Collection<?> c)
指定されたコレクション内に保持されている、セット内の要素だけを保持します。 |
|
int |
size()
このセット中の要素の数を返します。 |
|
Object[] |
toArray()
セット内のすべての要素が格納されている配列を返します。 |
|
|
toArray(T[] a)
セット内のすべての要素を格納している配列を返します。 |
クラス java.util.AbstractSet から継承されたメソッド |
---|
hashCode |
クラス java.util.AbstractCollection から継承されたメソッド |
---|
toString |
クラス java.lang.Object から継承されたメソッド |
---|
clone, finalize, getClass, notify, notifyAll, wait, wait, wait |
コンストラクタの詳細 |
---|
public CopyOnWriteArraySet()
public CopyOnWriteArraySet(Collection<? extends E> c)
c
- 初期状態で含む要素のコレクション
NullPointerException
- 指定されたコレクションが null である場合メソッドの詳細 |
---|
public int size()
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
- セットにあるかどうかを調べる要素
public Object[] toArray()
返される配列への参照をセットが維持しないという点で、この配列は安全です。つまり、このメソッドは、セットが配列に連動している場合でも新しい配列を割り当てます。このため、呼び出し側は、返された配列を自由に変更できます。
メソッドは、配列ベースの API とコレクションベースの API の間の橋渡し役として機能します。
Collection<E>
内の toArray
Set<E>
内の toArray
AbstractCollection<E>
内の toArray
public <T> T[] toArray(T[] a)
セットが指定された配列に収まり、その配列にさらに余裕がある場合 (つまり、配列がセットより多くの要素を持つ場合)、その配列内でセットの終端よりあとの要素は null に設定されます。セットに null 要素がないことを呼び出し側が知っている場合にだけ、この特性を利用してセットの長さを判断できます。
反復子によって要素が返される順序をセットが保証する場合、このメソッドは同じ順序で要素を返さなければいけません。
toArray()
メソッドと同じように、このメソッドは、配列ベースの API とコレクションベースの API の間の橋渡し役として機能します。さらに、このメソッドでは、出力配列の実行時の型を正確に制御できるため、環境によっては割り当ての手間を抑えることができます。
x が、文字列だけからなるセットであることがわかっていると仮定します。次のコードを使うと、新しく割り当てられた String の配列にセットをダンプできます。
String[] y = x.toArray(new String[0]);toArray(new Object[0]) は、機能の点で toArray() と同一です。
Collection<E>
内の toArray
Set<E>
内の toArray
AbstractCollection<E>
内の toArray
a
- セットの要素の格納先の配列。配列のサイズが十分でない場合は、同じ実行時の型で新しい配列が格納用として割り当てられる
ArrayStoreException
- 指定された配列の実行時の型が、このセット内のすべての要素の実行時の型のスーパータイプでない場合
NullPointerException
- 指定された配列が null である場合public void clear()
Collection<E>
内の clear
Set<E>
内の clear
AbstractCollection<E>
内の clear
public boolean remove(Object o)
Collection<E>
内の remove
Set<E>
内の remove
AbstractCollection<E>
内の remove
o
- セットに存在すれば削除されるオブジェクト
public boolean add(E e)
Collection<E>
内の add
Set<E>
内の add
AbstractCollection<E>
内の add
e
- セットに追加される要素
public boolean containsAll(Collection<?> c)
Collection<E>
内の containsAll
Set<E>
内の containsAll
AbstractCollection<E>
内の containsAll
c
- このセットに含まれているかどうかを調べるコレクション
NullPointerException
- 指定されたコレクションが null である場合contains(Object)
public boolean addAll(Collection<? extends E> c)
Collection<E>
内の addAll
Set<E>
内の addAll
AbstractCollection<E>
内の addAll
c
- このセットに追加される要素を持つコレクション
NullPointerException
- 指定されたコレクションが null である場合add(Object)
public boolean removeAll(Collection<?> c)
Collection<E>
内の removeAll
Set<E>
内の removeAll
AbstractSet<E>
内の removeAll
c
- このセットから削除される要素を含むコレクション
ClassCastException
- このセットのある要素のクラスが、指定されたコレクションと互換でない場合 (省略可能)
NullPointerException
- このセットに null 要素が含まれており、指定されたコレクションが null 要素を許可しない場合 (省略可能)、または指定されたコレクションが null の場合remove(Object)
public boolean retainAll(Collection<?> c)
Collection<E>
内の retainAll
Set<E>
内の retainAll
AbstractCollection<E>
内の retainAll
c
- このセットで保持される要素を含むコレクション
ClassCastException
- このセットのある要素のクラスが、指定されたコレクションと互換でない場合 (省略可能)
NullPointerException
- このセットに null 要素が含まれており、指定されたコレクションが null 要素を許可しない場合 (省略可能)、または指定されたコレクションが null の場合remove(Object)
public Iterator<E> iterator()
返される反復子は、反復子の構築時のセット状態のスナップショットを提供します。反復子のトラバーサル中に同期化は必要ありません。反復子は、remove メソッドをサポートしません。
Iterable<E>
内の iterator
Collection<E>
内の iterator
Set<E>
内の iterator
AbstractCollection<E>
内の iterator
public boolean equals(Object o)
Set
でもあり、指定されたセットで iterator によって返される要素がこのセットで反復子によって返される要素と同じである場合、true
を返します。つまり、この 2 つの反復子は、それらが同じ数の要素を返し、指定されたセットについての反復子によって返される各要素 e1
ごとに、このセットについての反復子によって返される (e1==null ? e2==null :e1.equals(e2))
に該当する要素 e2
が存在する場合、同じ要素を返すと見なされます。
Collection<E>
内の equals
Set<E>
内の equals
AbstractSet<E>
内の equals
o
- このセットと等しいかどうかが比較されるオブジェクト
true
Object.hashCode()
,
Hashtable
|
JavaTM Platform Standard Ed. 6 |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
Copyright 2009 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。