forEach
Trabalhando com forEach
O método forEach
é uma maneira conveniente de iterar sobre os elementos de uma coleção em uma Streams API do Java 8. Ele executa uma determinada ação para cada elemento da stream.
Sintaxe
A sintaxe do forEach
é bastante simples. Ele aceita uma função como argumento, que é aplicada a cada elemento da stream.
List<Integer> numeros = Arrays.asList(1, 2, 3, 4, 5);
numeros.stream()
.forEach((valor) -> {
// Ação a ser realizada para cada elemento
});
Exemplo
Vejamos um exemplo prático:
List<Integer> numeros = Arrays.asList(1, 2, 3, 4, 5);
numeros.stream()
.forEach((valor) -> {
System.out.println("Valor: " + valor);
});
Este código imprimirá cada elemento da lista numeros
no console.
Dicas
- O
forEach
pode ser útil para aplicar uma ação a cada elemento de uma coleção sem a necessidade de loops explícitos. - Você também pode usar referências de método com o
forEach
, tornando o código ainda mais limpo e legível.
numeros.stream()
.forEach(System.out::println);
Com essa abordagem, o método println
será chamado para cada elemento da lista automaticamente.
Limitações
É importante notar que o forEach
não retorna um valor e não altera a coleção original. Ele apenas executa uma ação para cada elemento. Se você precisar modificar a coleção ou coletar os resultados de alguma forma, pode ser necessário usar outras operações de stream, como map
, filter
ou collect
.
O forEach
é uma ferramenta útil para tarefas simples de iteração, mas para casos mais complexos, é necessário considerar outras operações da Streams API para obter o comportamento desejado.