logo

Java forEach ループ

Java は、要素を反復するための新しいメソッド forEach() を提供します。 Iterable および Stream インターフェイスで定義されます。これは、Iterable インターフェイスで定義されたデフォルトのメソッドです。 Iterable インターフェイスを拡張したコレクション クラスは、forEach ループを使用して要素を反復できます。

このメソッドは、関数インターフェイスである単一のパラメーターを受け取ります。したがって、ラムダ式を引数として渡すことができます。


Iterable インターフェイスの forEach() シグネチャ

 default void forEach(Consumeraction) 

Java 8 forEach() の例 1

 import java.util.ArrayList; import java.util.List; public class ForEachExample { public static void main(String[] args) { List gamesList = new ArrayList(); gamesList.add('Football'); gamesList.add('Cricket'); gamesList.add('Chess'); gamesList.add('Hocky'); System.out.println('------------Iterating by passing lambda expression--------------'); gamesList.forEach(games -> System.out.println(games)); } } 

出力:

 ------------Iterating by passing lambda expression-------------- Football Cricket Chess Hocky 

Java 8 forEach() の例 2

 import java.util.ArrayList; import java.util.List; public class ForEachExample { public static void main(String[] args) { List gamesList = new ArrayList(); gamesList.add('Football'); gamesList.add('Cricket'); gamesList.add('Chess'); gamesList.add('Hocky'); System.out.println('------------Iterating by passing method reference---------------'); gamesList.forEach(System.out::println); } } 

出力:

 ------------Iterating by passing method reference--------------- Football Cricket Chess Hocky 

Java ストリームの forEachOrdered() メソッド

forEach() メソッドに加えて、Java にはもう 1 つメソッド forEachOrdered() が提供されています。これは、ストリームで指定された順序で要素を反復するために使用されます。

署名:

 void forEachOrdered(Consumer action) 

Java ストリームの forEachOrdered() メソッドの例

 import java.util.ArrayList; import java.util.List; public class ForEachOrderedExample { public static void main(String[] args) { List gamesList = new ArrayList(); gamesList.add('Football'); gamesList.add('Cricket'); gamesList.add('Chess'); gamesList.add('Hocky'); System.out.println('------------Iterating by passing lambda expression---------------'); gamesList.stream().forEachOrdered(games -> System.out.println(games)); System.out.println('------------Iterating by passing method reference---------------'); gamesList.stream().forEachOrdered(System.out::println); } } 

出力:

 ------------Iterating by passing lambda expression--------------- Football Cricket Chess Hocky ------------Iterating by passing method reference--------------- Football Cricket Chess Hocky