|
JavaTM 2 Platform Standard Ed. 5.0 |
|||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||||
java.lang.Objectjava.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)
指定された Collection の要素すべてを含むセットを作成します。 |
|
| メソッドの概要 | ||
|---|---|---|
boolean |
add(E o)
指定された要素がこのコレクションに格納されていることを保証します (任意のオペレーション)。 |
|
boolean |
addAll(Collection<? extends E> c)
指定されたコレクションのすべての要素をこのコレクションに追加します (任意のオペレーション)。 |
|
void |
clear()
このコレクションからすべての要素を削除します (任意のオペレーション)。 |
|
boolean |
contains(Object o)
コレクションに指定された要素がある場合に true を返します。 |
|
boolean |
containsAll(Collection<?> c)
このコレクション内に、指定されたコレクションのすべての要素がある場合に true を返します。 |
|
boolean |
isEmpty()
コレクションに要素がない場合に true を返します。 |
|
Iterator<E> |
iterator()
このコレクション中の要素に関係する反復子を返します。 |
|
boolean |
remove(Object o)
指定された要素のインスタンスがこのコレクションにあれば、そのインスタンスをコレクションから 1 つ削除します (任意のオペレーション)。 |
|
boolean |
removeAll(Collection<?> c)
このセットから、指定されたコレクションに含まれる要素をすべて削除します (任意のオペレーション)。 |
|
boolean |
retainAll(Collection<?> c)
このコレクションにおいて、指定されたコレクションに格納されている要素だけを保持します (任意のオペレーション)。 |
|
int |
size()
このコレクション中の要素の数を返します。 |
|
Object[] |
toArray()
このコレクションの要素がすべて格納されている配列を返します。 |
|
|
toArray(T[] a)
このコレクション内のすべての要素を保持する配列を返します。 |
|
| クラス java.util.AbstractSet から継承されたメソッド |
|---|
equals, 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 - コレクション| メソッドの詳細 |
|---|
public int size()
AbstractCollection の記述:
Collection<E> 内の sizeSet<E> 内の sizeAbstractCollection<E> 内の sizepublic boolean isEmpty()
AbstractCollection の記述: この実装は size() == 0 の結果を返します。
Collection<E> 内の isEmptySet<E> 内の isEmptyAbstractCollection<E> 内の isEmptypublic boolean contains(Object o)
AbstractCollection の記述: この実装はコレクションの各要素について、指定された要素と等しいかどうかを順に繰り返し確認します。
Collection<E> 内の containsSet<E> 内の containsAbstractCollection<E> 内の containso - このコレクションにあるかどうかを調べるオブジェクト
public Object[] toArray()
AbstractCollection の記述: この実装は、返される配列を割り当て、コレクションの各要素について繰り返します。つまり、各オブジェクト参照を配列の次の要素に格納するという処理を、第 0 要素から開始します。
Collection<E> 内の toArraySet<E> 内の toArrayAbstractCollection<E> 内の toArraypublic <T> T[] toArray(T[] a)
AbstractCollection の記述: 指定された配列にコレクションが収まり、さらに空きがある場合、すなわち配列にコレクション以上の要素数がある場合には、コレクションの終端の直後にある配列の要素が null に設定されます。コレクションに null 要素がないことが呼び出し側でわかっている場合には、これにより、コレクションの長さを判定できます。
反復子によって要素が返される順序をコレクションが保証する場合、このメソッドは同じ順序で要素を返さなければなりません。
この実装は、配列がコレクションの格納に十分な大きさであるかを確認します。不十分な場合、この実装はリフレクションを使って、適切なサイズおよび型の配列を新しく割り当てます。次に、コレクションに対して、0 から順に配列の連続する要素へ各オブジェクト参照を格納する操作を反復します。配列がコレクションよりも大きい場合、コレクションの終端より後の最初の位置に null が格納されます。
Collection<E> 内の toArraySet<E> 内の toArrayAbstractCollection<E> 内の toArraya - コレクションの要素の格納先の配列。配列のサイズが十分でない場合は、同じ実行時の型で新しい配列が格納用として割り当てられる
public void clear()
AbstractCollection の記述: この実装はコレクションに対して、Iterator.remove オペレーションを使用して各要素を削除する操作を繰り返します。ほとんどの実装では、このメソッドをオーバーライドした方がより効率的です。
このコレクションの iterator メソッドで返される反復子が remove メソッドを実装せず、このコレクションが空でない場合、この実装は UnsupportedOperationException をスローします。
Collection<E> 内の clearSet<E> 内の clearAbstractCollection<E> 内の clearpublic Iterator<E> iterator()
AbstractCollection の記述:
Iterable<E> 内の iteratorCollection<E> 内の iteratorSet<E> 内の iteratorAbstractCollection<E> 内の iteratorpublic boolean remove(Object o)
AbstractCollection の記述: この実装は、コレクションの内容を次々調べ、指定された要素を探します。要素があれば、反復子の remove メソッドを使ってコレクションから要素を削除します。
このコレクションの iterator メソッドが返す反復子が remove メソッドを実装せず、指定されたオブジェクトがこのコレクション内にある場合、この実装は UnsupportedOperationException をスローします。
Collection<E> 内の removeSet<E> 内の removeAbstractCollection<E> 内の removeo - コレクションから削除される要素 (その要素がある場合)
public boolean add(E o)
AbstractCollection の記述: この実装は、常に UnsupportedOperationException をスローします。
Collection<E> 内の addSet<E> 内の addAbstractCollection<E> 内の addo - コレクションにあるかどうかを調べる要素
public boolean containsAll(Collection<?> c)
AbstractCollection の記述: この実装は指定されたコレクションの内容を次々調べ、反復子によって返された各要素について、このコレクションに含まれるかどうかを順番に確認します。すべての要素がこのコレクションにある場合は true を返し、そうでない場合は false を返します。
Collection<E> 内の containsAllSet<E> 内の containsAllAbstractCollection<E> 内の containsAllc - このコレクションにあるかどうかを調べるコレクション
AbstractCollection.contains(Object)public boolean addAll(Collection<? extends E> c)
AbstractCollection の記述: この実装は、指定されたコレクションに対して反復を行い、反復子が返すオブジェクトをこのコレクションに順に追加していく操作を繰り返します。
指定されたコレクションが空でない場合は、add メソッドがオーバーライドされない限り、この実装は UnsupportedOperationException をスローします。
Collection<E> 内の addAllSet<E> 内の addAllAbstractCollection<E> 内の addAllc - 要素がこのコレクションに追加されるコレクション
AbstractCollection.add(Object)public boolean removeAll(Collection<?> c)
AbstractSet の記述: この実装は、size メソッドを呼び出して、このセットおよび指定されたコレクションのどちらが小さいかを判別します。このセットに要素があまりない場合、実装でこのセットを繰り返し、各要素が反復子で返されることを確認して、指定されたコレクションに含まれることを確認します。要素が含まれる場合は、反復子の remove メソッドを使ってこのセットから削除されます。指定されたコレクションでは要素が少ない場合、指定されたコレクションで実装を繰り返し、このセットの remove メソッドを用いて、反復子が返した各要素をこのセットから削除します。
iterator メソッドで返された反復子が remove メソッドを実装していない場合、この実装は UnsupportedOperationException をスローします。
Collection<E> 内の removeAllSet<E> 内の removeAllAbstractSet<E> 内の removeAllc - このセットから削除される要素
AbstractCollection.remove(Object),
AbstractCollection.contains(Object)public boolean retainAll(Collection<?> c)
AbstractCollection の記述: この実装はこのコレクションの内容を次々調べ、反復子によって返された各要素について、指定されたコレクションに含まれるかどうかを順番に確認します。含まれない要素があれば、反復子の remove メソッドを使ってこのコレクションから削除します。
iterator メソッドで返された反復子が remove メソッドを実装せず、指定されたコレクションに含まれない要素が 1 つでもこのコレクション内にある場合は、この実装は UnsupportedOperationException をスローします。
Collection<E> 内の retainAllSet<E> 内の retainAllAbstractCollection<E> 内の retainAllc - コレクションで保持される要素
AbstractCollection.remove(Object),
AbstractCollection.contains(Object)
|
JavaTM 2 Platform Standard Ed. 5.0 |
|||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||||
Copyright 2004 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。