Java でリストを反復処理する

Mohammad Irfan 2023年10月12日
  1. Java で for ループを使用してリスト要素を反復する
  2. Java で for-each ループを使用してリスト要素を反復する
  3. Java で while ループを使用してリスト要素を反復する
  4. Java 8 で forEach() メソッドを使用してリスト要素を反復する
  5. Java 8 で forEach() および stream メソッドを使用してリスト要素を反復する
  6. Java で apache ライブラリを使用してリスト要素を反復する
  7. Java で join() メソッドを使用してリスト要素を反復する
  8. Java で map() メソッドを使用してリスト要素を反復する
Java でリストを反復処理する

このチュートリアルでは、Java でリストを反復処理する方法を紹介し、トピックを理解するためのサンプルコードをいくつかリストします。

リストは、ArrayListLinkedList などのいくつかの実装クラスを持つ Java のインターフェースです。これらのクラスを使用して、データを格納できます。リストは、要素の数が増えるとサイズが大きくなる動的配列として機能します。

Java でリストのすべての要素を反復処理する方法はいくつかあります。たとえば、for ループ、for-each ループ、リストまたはストリームを使用した forEach() メソッドなどです。いくつかの例を見てみましょう。

Java で for ループを使用してリスト要素を反復する

従来の for ループを使用して、各要素を個別に反復できます。for ループは、オブジェクトとプリミティブ値でも正常に機能します。以下の例を参照してください。

import java.util.ArrayList;
import java.util.List;

public class SimpleTesting {
  public static void main(String[] args) {
    List<String> list = new ArrayList<>();
    list.add("India");
    list.add("US");
    list.add("China");
    list.add("Russia");
    for (int i = 0; i < list.size(); i++) {
      String element = list.get(i);
      System.out.println(element);
    }
  }
}

出力:

India
US
China
Russia

Java で for-each ループを使用してリスト要素を反復する

for-each ループを使用して、各要素を個別に出力できます。for-each ループは、リストや Set などのオブジェクトのコンテナで正常に機能します。以下の例を参照してください。

import java.util.ArrayList;
import java.util.List;

public class SimpleTesting {
  public static void main(String[] args) {
    List<String> list = new ArrayList<>();
    list.add("India");
    list.add("US");
    list.add("China");
    list.add("Russia");
    for (String country : list) {
      System.out.println(country);
    }
  }
}

出力:

India
US
China
Russia

Java で while ループを使用してリスト要素を反復する

for ループとして、while ループを使用して Java のリスト要素を反復処理できます。get() メソッドを使用して要素をフェッチし、要素を出力します。以下の例を参照してください。

import java.util.ArrayList;
import java.util.List;
public class SimpleTesting {
  public static void main(String[] args) {
    List<String> list = new ArrayList<>();
    list.add("India");
    list.add("US");
    list.add("China");
    list.add("Russia");
    while (!list.isEmpty()) {
      String element = list.get(0);
      list = list.subList(1, list.size());
      System.out.println(element);
    }
  }
}

出力:

[India, US, China, Russia]

Java 8 で forEach() メソッドを使用してリスト要素を反復する

Java 8 以降のバージョンを使用している場合は、リストの要素を出力する forEach() メソッドを使用してください。パラメータとしてメソッド参照を取ります。以下の例を参照してください。

import java.util.ArrayList;
import java.util.List;
public class SimpleTesting {
  public static void main(String[] args) {
    List<String> list = new ArrayList<>();
    list.add("India");
    list.add("US");
    list.add("China");
    list.add("Russia");
    list.forEach(System.out::println);
  }
}

出力:

India
US
China
Russia

Java 8 で forEach() および stream メソッドを使用してリスト要素を反復する

ストリーム API を使用している場合は、stream()forEach() を使用して、すべてのリスト要素を出力します。以下の例を参照してください。

import java.util.ArrayList;
import java.util.List;
public class SimpleTesting {
  public static void main(String[] args) {
    List<String> list = new ArrayList<>();
    list.add("India");
    list.add("US");
    list.add("China");
    list.add("Russia");
    list.stream().forEach(System.out::println);
  }
}

出力:

India
US
China
Russia

Java で apache ライブラリを使用してリスト要素を反復する

apache ライブラリを使用している場合は、ArrayUtils クラスを使用してすべてのリスト要素を出力します。以下の例を参照してください。

import java.util.ArrayList;
import java.util.List;
import org.apache.commons.lang3.ArrayUtils;
public class SimpleTesting {
  public static void main(String[] args) {
    List<String> list = new ArrayList<>();
    list.add("India");
    list.add("US");
    list.add("China");
    list.add("Russia");
    System.out.println(ArrayUtils.toString(list));
  }
}

出力:

{India,US,China,Russia}

Java で join() メソッドを使用してリスト要素を反復する

すべての要素を単一の文字列として出力する場合は、join() メソッドを使用してリストの各要素を結合し、print() メソッドを使用してそれらを出力できます。以下の例を参照してください。

import java.util.ArrayList;
import java.util.List;
public class SimpleTesting {
  public static void main(String[] args) {
    List<String> list = new ArrayList<>();
    list.add("India");
    list.add("US");
    list.add("China");
    list.add("Russia");
    System.out.print(String.join("\n", list));
  }
}

出力:

India
US
China
Russia

Java で map() メソッドを使用してリスト要素を反復する

これは、forEach() でストリーム API の map() メソッドを使用する別のアプローチです。map() メソッドを使用して、ラムダ式を渡し、それに応じて要素を出力できます。以下の例を参照してください。

import java.util.ArrayList;
import java.util.List;
public class SimpleTesting {
  public static void main(String[] args) {
    List<String> list = new ArrayList<>();
    list.add("India");
    list.add("US");
    list.add("China");
    list.add("Russia");
    list.stream().map(x -> x).forEach(System.out::println);
  }
}

出力:

India
US
China
Russia

関連記事 - Java List