Java でリストを反復処理する
-
Java で
forループを使用してリスト要素を反復する -
Java で
for-eachループを使用してリスト要素を反復する -
Java で
whileループを使用してリスト要素を反復する -
Java 8 で
forEach()メソッドを使用してリスト要素を反復する -
Java 8 で
forEach()およびstreamメソッドを使用してリスト要素を反復する -
Java で
apacheライブラリを使用してリスト要素を反復する -
Java で
join()メソッドを使用してリスト要素を反復する -
Java で
map()メソッドを使用してリスト要素を反復する
このチュートリアルでは、Java でリストを反復処理する方法を紹介し、トピックを理解するためのサンプルコードをいくつかリストします。
リストは、ArrayList、LinkedList などのいくつかの実装クラスを持つ 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