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