Java bietet eine neue Methode forEach() zum Iterieren der Elemente. Es ist in der Iterable- und Stream-Schnittstelle definiert. Es handelt sich um eine Standardmethode, die in der Iterable-Schnittstelle definiert ist. Sammlungsklassen, die die Iterable-Schnittstelle erweitern, können die forEach-Schleife verwenden, um Elemente zu iterieren.
Diese Methode benötigt einen einzelnen Parameter, der eine funktionale Schnittstelle darstellt. Sie können also den Lambda-Ausdruck als Argument übergeben.
forEach()-Signatur in der iterierbaren Schnittstelle
default void forEach(Consumeraction)
Java 8 forEach() Beispiel 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)); } }
Ausgabe:
------------Iterating by passing lambda expression-------------- Football Cricket Chess Hocky
Java 8 forEach() Beispiel 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); } }
Ausgabe:
------------Iterating by passing method reference--------------- Football Cricket Chess Hocky
Java Stream forEachOrdered()-Methode
Neben der Methode forEach() stellt Java eine weitere Methode forEachOrdered() bereit. Es wird verwendet, um Elemente in der vom Stream angegebenen Reihenfolge zu iterieren.
Signatur:
void forEachOrdered(Consumer action)
Beispiel für die Java Stream forEachOrdered()-Methode
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); } }
Ausgabe:
------------Iterating by passing lambda expression--------------- Football Cricket Chess Hocky ------------Iterating by passing method reference--------------- Football Cricket Chess Hocky