Skip to content
閲覧中:
listに関するmethod

listに関するmethod

Javaの List<String> でよく使われるメソッドを、**「中身を調べる」「変更する」「並び替える」**などの目的別に整理しました。


1. 基本的な操作(要素の追加・削除・取得)

これらは ArrayList などの変更可能なリストで頻繁に使われます。

  • add(E e): 末尾に要素を追加します。
  • add(int index, E element): 指定した位置に要素を割り込ませます。
  • get(int index): 指定した位置の要素を取得します(配列の [i] に相当)。
  • set(int index, E element): 指定した位置の要素を書き換えます。
  • remove(int index) / remove(Object o): 指定した位置、または特定の値を削除します。

2. 状態を調べる(検索・確認)

リストの中に何が入っているか、何個あるかを確認します。

  • size(): リストの要素数を返します(配列の .length に相当)。
  • isEmpty(): リストが空(サイズ0)なら true を返します。
  • contains(Object o): 指定した文字列がリストに含まれているか boolean で返します。
  • indexOf(Object o): 指定した文字列が最初に出てくるインデックスを返します(なければ -1)。

3. リスト全体への操作(一括処理)

複数のデータをまとめて扱います。

  • addAll(Collection c): 別のリストなどを丸ごと末尾に追加します。
  • clear(): すべての要素を削除して空にします。
  • containsAll(Collection c): 指定したコレクションの要素がすべて含まれているか確認します。

4. 並び替え・加工(Java 8以降の便利関数)

モダンなJavaでよく使われる、関数型の書き方です。

  • sort(Comparator c): リスト自体を並び替えます。

    Java
    list.sort(Comparator.naturalOrder()); // 辞書順
    list.sort(Comparator.reverseOrder()); // 逆順
    

  • replaceAll(UnaryOperator operator): 全要素を一括変換します。

    Java
    list.replaceAll(String::toUpperCase); // すべて大文字にする
    

  • removeIf(Predicate filter): 条件に合うものを一括削除します。

    Java
    list.removeIf(s -> s.startsWith("a")); // "a"で始まるものをすべて消す
    


5. 変換操作

他の型へ移し替えるときに使います。

  • toArray(): 配列に変換します。
  • subList(int from, int to): 指定した範囲を切り出した「部分リスト」を返します。
  • stream(): Stream APIを開始します(先述の filtermap が使えます)。

注意:不変リストでの制限

List.of("A", "B")Arrays.asList(...) で作ったリストに対して、add()remove()sort() などの**中身を書き換える関数**を呼ぶと、実行時に UnsupportedOperationException というエラーになります。

サンプルコード

Java
List<String> fruits = new ArrayList<>(List.of("banana", "apple", "cherry"));

fruits.add("apricot");            // 追加
fruits.sort(Comparator.naturalOrder()); // 並び替え: [apple, apricot, banana, cherry]
boolean hasApple = fruits.contains("apple"); // 検索: true
fruits.removeIf(s -> s.length() > 6); // 6文字より長い cherry を削除

System.out.println(fruits); // [apple, apricot, banana]

「特定の条件でリストを2つに分けたい」や「重複だけを取り除きたい」など、やりたい具体的な処理はありますか?