Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

forEach na interface Iterable

Caros, Na aula 1 forEach. não entendi qual a importância de utilizar o forEach

palavras.forEach(new Consumer<String>(){
    public void accept(String palavra) {
        System.out.println(palavra);
    }
})

ao invés de utilizar

        for (String cidades : palavras) {
            System.out.println(cidades);
        }
3 respostas
solução!

Olá Mary! Talvez para um código pequeno você não enxergue nenhuma vantagem, mas imagine para código um pouco maiores. Imagine que você tenha 5 listas com Strings diferentes:

List<String> lista1 = new ArrayList<>();
List<String> lista2 = new ArrayList<>();
List<String> lista3 = new ArrayList<>();
List<String> lista4 = new ArrayList<>();
List<String> lista5 = new ArrayList<>();

Para percorrer cada Lista dessa você deve fazer um for each para cada certo? e Ficaria um código extenso e repetitivo. Então veja que seria muito melhor criar um único Consumer de String e aplicar o método foreach para todas as Strings, veja a diferença abaixo:

MANEIRA SEM O MÉTODO:

List<String> lista1 = new ArrayList<>();
List<String> lista2 = new ArrayList<>();
List<String> lista3 = new ArrayList<>();
List<String> lista4 = new ArrayList<>();
List<String> lista5 = new ArrayList<>();

for(String s1 : lista1){
    System.out.println(s);
}
for(String s : lista1){
    System.out.println(s);
}
for(String s : lista2){
    System.out.println(s);
}
for(String s : lista3){
    System.out.println(s);
}
for(String s : lista4){
    System.out.println(s);
}
for(String s : lista5){
    System.out.println(s);
}

MANEIRA COM O MÉTODO:

List<String> lista1 = new ArrayList<>();
List<String> lista2 = new ArrayList<>();
List<String> lista3 = new ArrayList<>();
List<String> lista4 = new ArrayList<>();
List<String> lista5 = new ArrayList<>();

Consumer<String> consumidor = new ConsumidorDeStrings();

lista1.forEach(consumidor);
lista2.forEach(consumidor);
lista3.forEach(consumidor);
lista4.forEach(consumidor);
lista5.forEach(consumidor);

Veja que a segunda forma é menor apenas para um exemplo simples, imagine para regras de negócio mais complexas.

Espero ter ajudado! Bons Estudos!

ajudou sim. obrigada

Que bom Mary! Qualquer dúvida estamos a disposição! Bons estudos!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software