- 型パラメータ:
E
- このコレクション内の要素の型
- すべての実装されたインタフェース:
Iterable<E>
,Collection<E>
- 直系の既知のサブクラス:
AbstractList
,AbstractQueue
,AbstractSet
,ArrayDeque
,ConcurrentLinkedDeque
Collection
インタフェースのスケルトン実装を提供します。
変更不可能なコレクションを実装するには、プログラマは、このクラスを拡張して、iterator
およびsize
メソッドの実装を提供するだけで済みます。 (iterator
メソッドによって返されるイテレータは、hasNext
およびnext
を実装する必要があります。)
変更可能なコレクションを実装するには、プログラマはさらにこのクラスのadd
メソッド(それ以外の場合はUnsupportedOperationException
をスロー)をオーバーライドし、iterator
メソッドから戻されるイテレータはさらにそのremove
メソッドを実装する必要があります。
プログラマは、通常、Collection
インタフェース仕様の推奨事項に従って、void (引数なし)およびCollection
コンストラクタを指定する必要があります。
実装の詳細については、このクラスの抽象メソッド以外の各メソッドのドキュメントを参照してください。 より効率的な実装ができるコレクションの場合は、これらのメソッドをオーバーライドしてもかまいません。
このクラスは、Java Collections Frameworkのメンバーです。
- 導入されたバージョン:
- 1.2
- 関連項目:
-
コンストラクタのサマリー
-
メソッドのサマリー
修飾子と型メソッド説明boolean
指定された要素がこのコレクションに格納されていることを保証します(オプションの操作)。boolean
addAll
(Collection<? extends E> c) 指定されたコレクションのすべての要素をこのコレクションに追加します(オプションの操作)。void
clear()
このコレクションからすべての要素を削除します(オプションの操作)。boolean
このコレクションに指定した要素が含まれている場合は、true
を返します。boolean
containsAll
(Collection<?> c) 指定したコレクションのすべての要素がこのコレクションに含まれている場合、true
を返します。boolean
isEmpty()
このコレクションに要素がない場合にtrue
を返します。iterator()
このコレクション中の要素に関係するイテレータを返します。boolean
指定された要素のインスタンスがこのコレクションにあれば、そのインスタンスをコレクションから1つ削除します(オプションの操作)。boolean
removeAll
(Collection<?> c) 指定されたコレクションにも格納されているこのコレクションのすべての要素を削除します(オプションの操作)。boolean
retainAll
(Collection<?> c) このコレクションにおいて、指定されたコレクションに格納されている要素だけを保持します(オプションの操作)。Object[]
toArray()
このコレクションの要素がすべて格納されている配列を返します。<T> T[]
toArray
(T[] a) このコレクション内のすべての要素を保持する配列を返します。返される配列の実行時の型は、指定された配列の型です。toString()
このコレクションの文字列表現を返します。クラスjava.lang.Objectで宣言されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
インタフェースjava.util.Collectionで宣言されたメソッド
equals, hashCode, parallelStream, removeIf, size, spliterator, stream, toArray
-
コンストラクタの詳細
-
AbstractCollection
protected AbstractCollection()唯一のコンストラクタです。 (サブクラスのコンストラクタによる呼出し用で、通常は暗黙的に呼び出されます。)
-
-
メソッドの詳細
-
iterator
-
isEmpty
public boolean isEmpty()このコレクションに要素がない場合にtrue
を返します。- 定義:
isEmpty
、インタフェースCollection<E>
- 実装要件:
- この実装は
size() == 0
を返します。 - 戻り値:
- このコレクションに要素が含まれていない場合は
true
-
contains
public boolean contains(Object o) このコレクションに指定した要素が含まれている場合は、true
を返します。 より正式には、このコレクションにObjects.equals(o, e)
などの要素e
が少なくとも1つ含まれている場合にのみ、true
を返します。- 定義:
contains
、インタフェースCollection<E>
- 実装要件:
- この実装はコレクションの各要素について、指定された要素と等しいかどうかを順に繰返し確認します。
- パラメータ:
o
- このコレクション内にあるかどうかが判定される要素- 戻り値:
- このコレクションに指定した要素が含まれている場合は
true
- 例外:
ClassCastException
- 指定された要素の型が、このコレクションと互換でない場合(オプション)NullPointerException
- 指定された要素がnullで、このコレクションがnull要素を許可しない場合(オプション)
-
toArray
public Object[] toArray()このコレクションの要素がすべて格納されている配列を返します。 イテレータによって要素が返される順序をコレクションが保証する場合、このメソッドは同じ順序で要素を返さなければなりません。 返される配列の「ランタイム・コンポーネント・タイプ」はObject
です。返される配列への参照をコレクションが維持しないという点で、この配列は安全です。 つまり、このメソッドは、コレクションが配列に連動している場合でも新しい配列を割り当てます。 このため、呼出し側は、返された配列を自由に変更できます。
- 定義:
toArray
、インタフェースCollection<E>
- 実装要件:
- この実装は、インデックス
0
で始まり、同じ順序で、配列の連続した要素に格納されている、このコレクションのイテレータによって返されるすべての要素を含む配列を返します。 返される配列の長さは、コレクションが反復処理時の並行変更を許可する場合と同様に、このコレクションのサイズが反復処理時に変わる場合でも、イテレータによって返される要素の数と等しくなります。size
メソッドは、最適化のヒントとしてしか呼び出されません。イテレータが異なる数の要素を返す場合でも、正しい結果が返されます。このメソッドは、次と同等です。
List<E> list = new ArrayList<E>(size()); for (E e : this) list.add(e); return list.toArray();
- 戻り値:
- 「ランタイム・コンポーネント・タイプ」が
Object
の配列。このコレクションのすべての要素を含む
-
toArray
public <T> T[] toArray(T[] a) このコレクション内のすべての要素を保持する配列を返します。返される配列の実行時の型は、指定された配列の型です。 コレクションが指定された配列に収まる場合は、その中に返されます。 そうでない場合は、指定された配列の実行時の型とコレクションのサイズを持つ新しい配列が割り当てられます。このコレクションが(つまり、配列にはこのコレクションより多くの要素があります)の余裕のある指定された配列に収まる場合、コレクションの終端の直後の配列の要素は
null
に設定されます。 (これは、このコレクションにnull
要素が含まれていないことをコール元が認識している場合に、このコレクションonlyの長さを決定する際に役立ちます。)イテレータによって要素が返される順序をコレクションが保証する場合、このメソッドは同じ順序で要素を返さなければなりません。
- 定義:
toArray
、インタフェースCollection<E>
- 実装要件:
- この実装は、インデックス
0
で始まり、同じ順序で、配列の連続した要素に格納されている、このコレクションのイテレータによって返されるすべての要素を含む配列を返します。 イテレータによって返される要素数が大きすぎて指定された配列に収まらない場合、このコレクションのサイズが反復処理時に変わる場合でも、コレクションが反復処理時に並行変更を許可している場合と同様に、イテレータによって返される要素数と長さが等しい、新しく割り当てられた配列内の要素が返されます。size
メソッドは、最適化のヒントとしてしか呼び出されません。イテレータが異なる数の要素を返す場合でも、正しい結果が返されます。このメソッドは、次と同等です。
List<E> list = new ArrayList<E>(size()); for (E e : this) list.add(e); return list.toArray(a);
- 型パラメータ:
T
- コレクションを格納する配列のコンポーネント型- パラメータ:
a
- 配列が十分な大きさを持つ場合は、このコレクションの要素の格納先の配列。配列のサイズが十分でない場合は、同じ実行時の型で新しい配列が格納用として割り当てられる。- 戻り値:
- コレクションのすべての要素が格納されている配列
- 例外:
ArrayStoreException
- このコレクション内の要素の実行時の型が、指定された配列の「ランタイム・コンポーネント・タイプ」に代入可能でない場合NullPointerException
- 指定された配列がnullである場合
-
add
public boolean add(E e) 指定された要素がこのコレクションに格納されていることを保証します(オプションの操作)。 このコレクションがコールの結果として変更された場合は、true
を返します。 (このコレクションで重複が許可されず、指定された要素がすでに含まれている場合は、false
を返します。)このオペレーションをサポートするコレクションでは、コレクションに追加できる要素について制限がある場合があります。 特に、一部のコレクションでは
null
要素の追加が拒否され、その他のコレクションでは追加できる要素のタイプに制限が課されます。 追加される要素に関して制限がある場合は、そのCollectionクラスのドキュメントに明示すべきでしょう。コレクションにすでに要素が含まれている理由以外で特定の要素の追加が拒否された場合、例外(
false
を返すのではなく)をスローする必要があります。 これにより、この呼出しが戻ったあとにコレクションが指定された要素を必ず格納するという不変性を保つことができます。- 定義:
add
、インタフェースCollection<E>
- 実装要件:
- この実装は、常に
UnsupportedOperationException
をスローします。 - パラメータ:
e
- このコレクションにあるかどうかを調べる要素- 戻り値:
- コールの結果としてこのコレクションが変更された場合、
true
- 例外:
UnsupportedOperationException
-add
操作がこのコレクションでサポートされていない場合ClassCastException
- 指定された要素のクラスが原因で、このコレクションにその要素を追加できない場合NullPointerException
- 指定された要素がnullで、このコレクションがnull要素を許可しない場合IllegalArgumentException
- 要素のあるプロパティが原因で、このコレクションに要素を追加できない場合IllegalStateException
- 挿入制限のため、この時点で要素を追加できない場合
-
remove
public boolean remove(Object o) 指定された要素のインスタンスがこのコレクションにあれば、そのインスタンスをコレクションから1つ削除します(オプションの操作)。 より正式には、要素e
を削除して、このコレクションにそのような要素が1つ以上含まれている場合はObjects.equals(o, e)
にします。 このコレクションに指定した要素(このコレクションがコールの結果として変更された場合、または同等)が含まれている場合は、true
を返します。- 定義:
remove
、インタフェースCollection<E>
- 実装要件:
- この実装は、コレクションの内容を次々調べ、指定された要素を探します。 要素があれば、イテレータのremoveメソッドを使ってコレクションから要素を削除します。
このコレクションのイテレータ・メソッドによって返されるイテレータが
remove
メソッドを実装せず、このコレクションに指定したオブジェクトが含まれている場合、この実装はUnsupportedOperationException
をスローすることに注意してください。 - パラメータ:
o
- このコレクションから削除される要素(その要素が存在する場合)- 戻り値:
- この呼出しの結果として要素が削除された場合は
true
- 例外:
UnsupportedOperationException
-remove
操作がこのコレクションでサポートされていない場合ClassCastException
- 指定された要素の型が、このコレクションと互換でない場合(オプション)NullPointerException
- 指定された要素がnullで、このコレクションがnull要素を許可しない場合(オプション)
-
containsAll
public boolean containsAll(Collection<?> c) 指定したコレクションのすべての要素がこのコレクションに含まれている場合、true
を返します。- 定義:
containsAll
、インタフェースCollection<E>
- 実装要件:
- この実装は指定されたコレクションの内容を次々調べ、イテレータによって返された各要素について、このコレクションに含まれるかどうかを順番に確認します。 すべての要素に
true
が含まれている場合は、false
が返されます。 - パラメータ:
c
- このコレクションにあるかどうかを調べるコレクション- 戻り値:
- このコレクションに指定したコレクションのすべての要素が含まれている場合、
true
- 例外:
ClassCastException
- 指定されたコレクションの1つ以上の要素の型が、このコレクションと互換でない場合(オプション)NullPointerException
- 指定したコレクションに1つ以上のnull要素が含まれ、このコレクションでnull要素(optional)が許可されない場合、または指定されたコレクションがnullの場合。- 関連項目:
-
addAll
public boolean addAll(Collection<? extends E> c) 指定されたコレクションのすべての要素をこのコレクションに追加します(オプションの操作)。 オペレーションの進行中に、指定されたコレクションが変更された場合の、このオペレーションの動作は定義されていません。 したがって、指定されたコレクションがこのコレクション自身であり、このコレクションが空ではない場合、この呼出しの動作は定義されていません。 指定したコレクションに「見つける」が定義されている場合、その要素の処理は通常、その順序で行われます。- 定義:
addAll
、インタフェースCollection<E>
- 実装要件:
- この実装は、指定されたコレクションに対して反復を行い、イテレータが返すオブジェクトをこのコレクションに順に追加していく操作を繰り返します。
この実装では、
add
が(指定したコレクションが空でないと仮定しています)にオーバーライドされないかぎり、UnsupportedOperationException
がスローされます。 - パラメータ:
c
- このコレクションに追加される要素を含むコレクション- 戻り値:
- コールの結果としてこのコレクションが変更された場合、
true
- 例外:
UnsupportedOperationException
-addAll
操作がこのコレクションでサポートされていない場合ClassCastException
- 指定されたコレクションの要素のクラスが原因で、このコレクションにその要素を追加できない場合NullPointerException
- 指定されたコレクション内にnull要素が含まれ、このコレクションがnull要素を許可しない場合。または指定されたコレクションがnullの場合IllegalArgumentException
- 指定されたコレクションの要素のあるプロパティが原因で、このコレクションにその要素を追加できない場合IllegalStateException
- 挿入制限のため、この時点で一部の要素を追加できない場合- 関連項目:
-
removeAll
public boolean removeAll(Collection<?> c) 指定されたコレクションにも格納されているこのコレクションのすべての要素を削除します(オプションの操作)。 この呼出しの結果、このコレクションには指定されたコレクションと共通の要素はなくなります。- 定義:
removeAll
、インタフェースCollection<E>
- 実装要件:
- この実装はこのコレクションの内容を次々調べ、イテレータによって返された各要素について、指定されたコレクションに含まれるかどうかを順番に確認します。 含まれている場合は、イテレータの
remove
メソッドを使用してこのコレクションから削除されます。iterator
メソッドによって返されるイテレータがremove
メソッドを実装せず、このコレクションに指定したコレクションと共通の1つ以上の要素が含まれている場合、この実装はUnsupportedOperationException
をスローすることに注意してください。 - パラメータ:
c
- このコレクションから削除される要素を含むコレクション- 戻り値:
- コールの結果としてこのコレクションが変更された場合、
true
- 例外:
UnsupportedOperationException
-removeAll
操作がこのコレクションでサポートされていない場合ClassCastException
- このコレクション内の1つ以上の要素の型が、指定されたコレクションと互換でない場合(オプション)NullPointerException
- このコレクションに1つ以上のnull要素が含まれ、指定したコレクションがnull要素(optional)をサポートしていない場合、または指定されたコレクションがnullの場合- 関連項目:
-
retainAll
public boolean retainAll(Collection<?> c) このコレクションにおいて、指定されたコレクションに格納されている要素だけを保持します(オプションの操作)。 つまり、指定されたコレクションに格納されていないすべての要素をこのコレクションから削除します。- 定義:
retainAll
、インタフェースCollection<E>
- 実装要件:
- この実装はこのコレクションの内容を次々調べ、イテレータによって返された各要素について、指定されたコレクションに含まれるかどうかを順番に確認します。 含まれていない場合は、イテレータの
remove
メソッドを使用してこのコレクションから削除されます。iterator
メソッドによって返されるイテレータがremove
メソッドを実装せず、このコレクションに指定したコレクションに存在しない1つ以上の要素が含まれている場合、この実装はUnsupportedOperationException
をスローすることに注意してください。 - パラメータ:
c
- このコレクションで保持される要素を含むコレクション- 戻り値:
- コールの結果としてこのコレクションが変更された場合、
true
- 例外:
UnsupportedOperationException
-retainAll
操作がこのコレクションでサポートされていない場合ClassCastException
- このコレクション内の1つ以上の要素の型が、指定されたコレクションと互換でない場合(オプション)NullPointerException
- このコレクションに1つ以上のnull要素が含まれ、指定したコレクションでnull要素(optional)が許可されていない場合、または指定されたコレクションがnullの場合- 関連項目:
-
clear
public void clear()このコレクションからすべての要素を削除します(オプションの操作)。 このメソッドが戻ると、コレクションは空になります。- 定義:
clear
、インタフェースCollection<E>
- 実装要件:
- この実装は、このコレクションに対して反復処理を行い、
Iterator.remove
操作を使用して各要素を削除します。 ほとんどの実装では、このメソッドをオーバーライドした方がより効率的です。このコレクションの
iterator
メソッドによって返されるイテレータがremove
メソッドを実装せず、このコレクションが空でない場合、この実装はUnsupportedOperationException
をスローすることに注意してください。 - 例外:
UnsupportedOperationException
-clear
操作がこのコレクションでサポートされていない場合
-
toString
public String toString()このコレクションの文字列表現を返します。 文字列表現は、イテレータによって返される順序でコレクションの要素のリストで構成され、大カッコ("[]"
)で囲みます。 隣接する要素は、文字", "
(カンマと空白文字)によって区切られます。 要素は、String.valueOf(Object)
により文字列に変換されます。
-