Streams Api

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.