logo

Java forEach bucle

Java proporciona un nou mètode per a cada () per iterar els elements. Es defineix a la interfície Iterable i Stream. És un mètode predeterminat definit a la interfície Iterable. Les classes de col·lecció que estén la interfície iterable poden utilitzar el bucle forEach per iterar elements.

Aquest mètode pren un únic paràmetre que és una interfície funcional. Per tant, podeu passar l'expressió lambda com a argument.


Signatura forEach() a la interfície iterable

 default void forEach(Consumeraction) 

Exemple 1 de Java 8 forEach().

 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)); } } 

Sortida:

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

Exemple 2 de Java 8 forEach().

 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); } } 

Sortida:

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

Mètode Java Stream forEachOrdered().

Juntament amb el mètode forEach(), Java proporciona un mètode més forEachOrdered(). S'utilitza per iterar elements en l'ordre especificat pel flux.

Signatura:

 void forEachOrdered(Consumer action) 

Exemple de mètode 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); } } 

Sortida:

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