0
0

Java Collectionで使えるメソッドについて

Last updated at Posted at 2024-08-19

Collectionインターフェイス、およびそのサブインターフェイス、サブクラスで利用できるメソッド、要素の追加、削除ができるメソッドについて整理してみました。

Collection インターフェイス

挿入

boolean add(E e)

指定された要素 e をコレクションに追加します。成功した場合は true を返します。

boolean addAll​(Collection<? extends E> c)

指定されたコレクション c のすべての要素をこのコレクションに追加します。
少なくとも 1 つの要素が追加された場合は true を返します。

削除

void clear()

コレクションからすべての要素を削除します。空のコレクションになります。

boolean remove(Object o)

指定された要素 o をこのコレクションから削除します。存在し、削除された場合は true を返します。
注意点として、要素のインデックスではなく、要素の値そのものを引数に指定する必要があります。
削除する要素が既にわかっている状態での使用が前提なので、削除できたかどうか、つまり戻り値はtrueかfalseでいいということだと思います。

default boolean removeIf​(Predicate<? super E> filter)

指定された述語を満たすこのコレクションの要素をすべて削除します。

boolean removeAll(Collection<?> c)

指定されたコレクション c に含まれる要素をこのコレクションからすべて削除します。少なくとも 1 つの要素が削除された場合は true を返します。

boolean retainAll(Collection<?> c)

指定されたコレクション c に含まれる要素以外のすべての要素をこのコレクションから削除します
少なくとも 1 つの要素が削除された場合は true を返します。

List インターフェイス

挿入

void add​(int index, E element)

リスト内の指定された位置に、指定された要素を挿入します。
その位置とそれ以降に要素があればそれらを右に移動させ、各要素のインデックスに1を加えます。

boolean addAll​(int index, Collection<? extends E> c)

指定されたコレクション内のすべての要素を、このリストの指定された位置に挿入します。 その位置とそれ以降に要素がある場合は、それらを右に移動して、各要素のインデックスに1を加えます。
新しい要素は、指定されたコレクションのイテレータによって返される順序でこのリストに挿入されます。 オペレーションの進行中に、指定されたコレクションが変更された場合の、このオペレーションの動作は定義されていません。

削除・取得

E remove​(int index)

List インターフェイスで追加されたメソッドで、指定されたインデックス index の要素を削除し、その要素を返します。 後続の要素を左に移動します(インデックスから1を減算)。
引数にインデックスを指定する、つまり削除する要素が不明でも利用できるメソッドになるので、戻り値として、要素を返すのだと思います。
Collection インターフェイスでもメソッド名は同じremoveが定義されていますが、戻り値はbooleanなので全く別のメソッドです。

E get(int index)

このリスト内の指定された位置にある要素を返します。

置換

E set​(int index, E element)

リスト内の指定された位置にある要素を、指定された要素に置き換えます

default void replaceAll​(UnaryOperator<E> operator)

このリストの各要素を、その要素に演算子を適用した結果で置換します。
演算子によってスローされたエラーまたは実行時例外は、呼出し側に中継されます。
このリストのリスト・イテレータがset操作をサポートしない場合、最初の要素を置き換えるときにUnsupportedOperationExceptionがスローされます。

default void sort​(Comparator<? super E> c)

指定されたComparatorが示す順序に従って、このリストをソートします。
指定されたコンパレータがnullの場合は、リストの全要素でComparableインタフェースを実装し、要素の自然順序を使用する必要があります。

Queue インターフェイス

挿入

boolean offer​(E e)

容量制限に違反せずにすぐ実行できる場合は、指定された要素をこのキューに挿入します。
容量制限のあるキューを使用する場合、通常は、要素の挿入に失敗した場合に例外をスローするだけのadd(E)よりもこのメソッドを使用することをお薦めします。

取得・削除

E element()

キューの先頭を取得しますが、削除しません。 このメソッドは、キューが空の場合に例外をスローする点のみがpeekメソッドと異なります。

E peek()

キューの先頭を取得しますが、削除しません。キューが空の場合はnullを返します。

E remove()

キューの先頭を取得および削除します。
このメソッドは、キューが空の場合に例外をスローする点のみがpoll()メソッドと異なります。

E poll()

キューの先頭を取得および削除します。キューが空の場合はnullを返します。

Document

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0