Java fournit une nouvelle méthode forEach() pour itérer les éléments. Il est défini dans les interfaces Iterable et Stream. Il s'agit d'une méthode par défaut définie dans l'interface Iterable. Les classes de collection qui étendent l'interface Iterable peuvent utiliser la boucle forEach pour itérer les éléments.
Cette méthode prend un seul paramètre qui est une interface fonctionnelle. Ainsi, vous pouvez passer l’expression lambda comme argument.
Signature forEach() dans l'interface itérable
default void forEach(Consumeraction)
Java 8 forEach() exemple 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)); } }
Sortir:
------------Iterating by passing lambda expression-------------- Football Cricket Chess Hocky
Java 8 forEach() exemple 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); } }
Sortir:
------------Iterating by passing method reference--------------- Football Cricket Chess Hocky
Méthode Java Stream forEachOrdered()
Outre la méthode forEach(), Java fournit une méthode supplémentaire forEachOrdered(). Il est utilisé pour itérer les éléments dans l'ordre spécifié par le flux.
Singulier :
void forEachOrdered(Consumer action)
Exemple de méthode Java Stream 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); } }
Sortir:
------------Iterating by passing lambda expression--------------- Football Cricket Chess Hocky ------------Iterating by passing method reference--------------- Football Cricket Chess Hocky