|
JavaTM 2 Platform Standard Ed. 5.0 |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
java.lang.Object java.util.concurrent.CopyOnWriteArrayList<E>
E
- コレクション内に存在する要素の型public class CopyOnWriteArrayList<E>
基になる配列の新しいコピーを作成することにより、すべての変更操作 (追加、設定など) が実装される ArrayList
のスレッドセーフな変数です。
通常、これは非常に効率が悪いのですが、トラバーサル操作が変更を数の点で大幅に上回る場合には、代替手段よりも効率が良い場合があります。また、これは、トラバーサルを同期できないか、そうすることを望まないが、並行スレッド間の干渉を排除する必要がある場合に有用です。「スナップショット」スタイルの反復子メソッドは、反復子の作成時点での配列状態への参照を使用します。この配列が、反復子の有効期間内に変更されることは決してないため、干渉は不可能であり、反復子は ConcurrentModificationException をスローしないことが保証されます。反復子は、反復子の作成以降のリストへの追加、削除、または変更を反映しません。反復子自身に対する要素変更操作 (削除、設定、および追加) は、サポートされません。これらのメソッドは、UnsupportedOperationException をスローします。
このクラスは、Java Collections Framework のメンバです。
コンストラクタの概要 | |
---|---|
CopyOnWriteArrayList()
空のリストを作成します。 |
|
CopyOnWriteArrayList(Collection<? extends E> c)
指定された Collection の要素を含むリストを、Collection の反復子によって返される順序で作成します。 |
|
CopyOnWriteArrayList(E[] toCopyIn)
指定された配列のコピーを保持する CopyOnWriteArrayList を新たに作成します。 |
メソッドの概要 | ||
---|---|---|
boolean |
add(E element)
リストの最後に、指定された要素を追加します。 |
|
void |
add(int index,
E element)
リストの指定された位置に、指定された要素を挿入します。 |
|
boolean |
addAll(Collection<? extends E> c)
指定された Collection 内のすべての要素を、指定された Collection の反復子により返される順序でこのリストの最後に追加します。 |
|
boolean |
addAll(int index,
Collection<? extends E> c)
リスト内の指定された位置から、指定された Collection のすべての要素を挿入します。 |
|
int |
addAllAbsent(Collection<? extends E> c)
このリストに含まれていない、指定された Collection 内のすべての要素を、指定された Collection の反復子により返される順序でこのリストの最後に追加します。 |
|
boolean |
addIfAbsent(E element)
要素が存在しない場合、要素を追加します。 |
|
void |
clear()
リストからすべての要素を削除します。 |
|
Object |
clone()
リストのシャローコピーを返します。 |
|
boolean |
contains(Object elem)
リストに指定された要素がある場合に true を返します。 |
|
boolean |
containsAll(Collection<?> c)
この Collection 内に、指定された Collection のすべての要素がある場合に true を返します。 |
|
boolean |
equals(Object o)
指定された Object が List と等しいかどうかを比較します。 |
|
E |
get(int index)
リスト内の指定された位置にある要素を返します。 |
|
int |
hashCode()
この List のハッシュコード値を返します。 |
|
int |
indexOf(E elem,
int index)
equals メソッドを使用して等しいかどうかを判定しながら、指定された引数と同じ内容の要素を指定された index から検索します。 |
|
int |
indexOf(Object elem)
equals メソッドを使用して等しいかどうかを判定しながら、指定された引数と同じ内容の要素を先頭から検索します。 |
|
boolean |
isEmpty()
リストに要素がないかどうかを判定します。 |
|
Iterator<E> |
iterator()
このコレクションに含まれる要素の Iterator を返します。 |
|
int |
lastIndexOf(E elem,
int index)
指定されたインデックスから後向きに指定されたオブジェクトを検索し、検出されたインデックスを返します。 |
|
int |
lastIndexOf(Object elem)
指定されたオブジェクトがリスト内で最後に現れるインデックスを返します。 |
|
ListIterator<E> |
listIterator()
この List 内の要素の Iterator を適切な順序で返します。 |
|
ListIterator<E> |
listIterator(int index)
この List 内の要素の ListIterator を、List 内の指定された位置から始まり適切な順序で返します。 |
|
E |
remove(int index)
リスト内の指定された位置から要素を削除します。 |
|
boolean |
remove(Object o)
指定された要素のインスタンスがこのリストにあれば、そのインスタンスをリストから 1 つ削除します (任意のオペレーション)。 |
|
boolean |
removeAll(Collection<?> c)
指定された Collection に含まれるすべての要素を、この Collection から削除します。 |
|
boolean |
retainAll(Collection<?> c)
この Collection において、指定された Collection に格納されている要素だけを保持します (任意のオペレーション)。 |
|
E |
set(int index,
E element)
リストの指定された位置にある要素を、指定された要素で置き換えます。 |
|
int |
size()
リスト内にある要素の数を返します。 |
|
List<E> |
subList(int fromIndex,
int toIndex)
この List の fromIndex (これを含む) と toIndex (これを含まない) の間の部分のビューを返します。 |
|
Object[] |
toArray()
リスト内のすべての要素が正しい順序で格納されている配列を返します。 |
|
|
toArray(T[] a)
リスト内のすべての要素が正しい順序で格納されている配列を返します。 |
|
String |
toString()
各要素の String 表現を保持している、Collection の文字列表現を返します。 |
クラス java.lang.Object から継承されたメソッド |
---|
finalize, getClass, notify, notifyAll, wait, wait, wait |
コンストラクタの詳細 |
---|
public CopyOnWriteArrayList()
public CopyOnWriteArrayList(Collection<? extends E> c)
c
- 最初に保持していた要素のコレクションpublic CopyOnWriteArrayList(E[] toCopyIn)
toCopyIn
- 配列 (この配列のコピーは内部配列として使用される)メソッドの詳細 |
---|
public int size()
Collection<E>
内の size
List<E>
内の size
public boolean isEmpty()
Collection<E>
内の isEmpty
List<E>
内の isEmpty
public boolean contains(Object elem)
Collection<E>
内の contains
List<E>
内の contains
elem
- リストにあるかどうかを調べる要素
true
、そうでない場合は false
public int indexOf(Object elem)
List<E>
内の indexOf
elem
- オブジェクト
Object.equals(Object)
public int indexOf(E elem, int index)
elem
- オブジェクトindex
- 検索を開始する位置のインデックス
Object.equals(Object)
public int lastIndexOf(Object elem)
List<E>
内の lastIndexOf
elem
- 目的の要素
public int lastIndexOf(E elem, int index)
elem
- 目的の要素index
- 検索を開始する位置のインデックス
public Object clone()
Object
内の clone
Cloneable
public Object[] toArray()
Collection<E>
内の toArray
List<E>
内の toArray
Arrays.asList(Object[])
public <T> T[] toArray(T[] a)
指定された配列にリストが収まってもさらにスペースがある場合、つまり配列にリストより多くの要素がある場合は、コレクションの最後の直後にある配列内の要素は null に設定されます。これは、呼び出し側がリストに null 要素が含まれていないことがわかっている場合には、リストの長さを判定するのに利用できます。
Collection<E>
内の toArray
List<E>
内の toArray
a
- 配列が十分な大きさを持つ場合は、リストの要素が格納される配列。そうでない場合は、要素を格納するために同じ実行時の型の新しい配列が割り当てられる
ArrayStoreException
- a の実行時の型が、リスト内の各要素の実行時の型のスーパータイプでない場合public E get(int index)
List<E>
内の get
index
- 返される要素のインデックス
IndexOutOfBoundsException
- インデックスが範囲外の場合 (index < 0 || index >= size())public E set(int index, E element)
List<E>
内の set
index
- 置換される要素のインデックスelement
- 指定された位置に格納される要素
IndexOutOfBoundsException
- インデックスが範囲外の場合 (index < 0 || index >= size())public boolean add(E element)
Collection<E>
内の add
List<E>
内の add
element
- リストに追加される要素
public void add(int index, E element)
List<E>
内の add
index
- 指定された要素が挿入されるインデックスelement
- 挿入される要素
IndexOutOfBoundsException
- インデックスが範囲外の場合 (index < 0 || index > size())public E remove(int index)
List<E>
内の remove
index
- 削除される要素のインデックス
IndexOutOfBoundsException
- インデックスが範囲外の場合 (index < 0 || index >= size())public boolean remove(Object o)
Collection<E>
内の remove
List<E>
内の remove
o
- リストから削除される要素 (その要素がある場合)
public boolean addIfAbsent(E element)
element
- Collection に追加される要素 (要素が存在しない場合)
public boolean containsAll(Collection<?> c)
この実装は指定された Collection の内容を次々調べ、Iterator によって返された各要素について、この Collection に含まれるかどうかを順番に確認します。すべての要素がこの Collection にある場合は true を返し、そうでない場合は false を返します。
Collection<E>
内の containsAll
List<E>
内の containsAll
c
- コレクション
Collection.contains(Object)
public boolean removeAll(Collection<?> c)
Collection<E>
内の removeAll
List<E>
内の removeAll
c
- コレクション
Collection.remove(Object)
,
Collection.contains(Object)
public boolean retainAll(Collection<?> c)
Collection<E>
内の retainAll
List<E>
内の retainAll
c
- コレクション
Collection.remove(Object)
,
Collection.contains(Object)
public int addAllAbsent(Collection<? extends E> c)
c
- リストに追加される要素
public void clear()
Collection<E>
内の clear
List<E>
内の clear
public boolean addAll(Collection<? extends E> c)
Collection<E>
内の addAll
List<E>
内の addAll
c
- リストに挿入される要素
Collection.add(Object)
public boolean addAll(int index, Collection<? extends E> c)
List<E>
内の addAll
index
- 指定されたコレクションから最初の要素を挿入する位置のインデックスc
- リストに挿入される要素
IndexOutOfBoundsException
- インデックスが範囲外の場合 (index < 0 || index > size())public String toString()
Object
内の toString
public boolean equals(Object o)
この実装は、最初に、指定されたオブジェクトがこの List であるかどうかを調べます。この List である場合、実装は true を返します。そうでない場合は、指定されたオブジェクトが List かどうかを調べ、List でなければ false を返します。指定されたオブジェクトが List の場合は、両方のリストの内容を次々調べて、要素の対応するペアを比較します。比較の結果 false が返されることがあれば、このメソッドも false を返します。どちらかの Iterator の要素が先になくなった場合は、2 つの List の長さが等しくないので false を返します。そうでない場合は、繰り返しが完了した時点で true を返します。
Collection<E>
内の equals
List<E>
内の equals
Object
内の equals
o
- List と等しいかどうかを比較する Object
Object.hashCode()
,
Hashtable
public int hashCode()
この実装は、List.hashCode()
内の定義を使用します。
Collection<E>
内の hashCode
List<E>
内の hashCode
Object
内の hashCode
Object.equals(java.lang.Object)
,
Hashtable
public Iterator<E> iterator()
Iterable<E>
内の iterator
Collection<E>
内の iterator
List<E>
内の iterator
public ListIterator<E> listIterator()
List<E>
内の listIterator
public ListIterator<E> listIterator(int index)
List<E>
内の listIterator
index
- getNext の呼び出しにより ListIterator から返される最初の要素のインデックス
IndexOutOfBoundsException
- インデックスが範囲外の場合 (index < 0 || index > size())public List<E> subList(int fromIndex, int toIndex)
基づくリスト (つまりこの List) が、返された List を介さずに「構造的に変更」された場合、このメソッドによって返された List のセマンティクスは、保証されません。構造的な変更とは、List のサイズが変更された場合や、進行中の繰り返しにより不正な結果が生じたなどの理由で List が乱れた場合です。
List<E>
内の subList
fromIndex
- subList の下端点 (これを含む)toIndex
- subList の上端点 (これを含まない)
IndexOutOfBoundsException
- 不正な端点のインデックス値 (fromIndex < 0 || toIndex > size || fromIndex > toIndex)
|
JavaTM 2 Platform Standard Ed. 5.0 |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
Copyright 2004 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。