logo

Loop forEach Java

Java fornece um novo método forEach() para iterar os elementos. É definido na interface Iterable e Stream. É um método padrão definido na interface Iterable. As classes de coleção que estendem a interface Iterable podem usar o loop forEach para iterar elementos.

Este método usa um único parâmetro que é uma interface funcional. Portanto, você pode passar a expressão lambda como argumento.


Assinatura forEach() na interface iterável

 default void forEach(Consumeraction) 

Java 8 forEach() exemplo 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)); } } 

Saída:

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

Java 8 forEach() exemplo 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); } } 

Saída:

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

Método Java Stream forEachOrdered()

Junto com o método forEach(), Java fornece mais um método forEachOrdered(). É usado para iterar elementos na ordem especificada pelo fluxo.

Assinatura:

 void forEachOrdered(Consumer action) 

Exemplo de método 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); } } 

Saída:

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