Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Dúvidas em relação a performance

Boa tarde,

Ao solucionar um exercício, obtive o mesmo resultado que foi apresentado em aula, porém de forma diferente. Gostaria de saber se há alguma diferença em relação a performance entre as duas soluções.

Desde já deixo o meu muito obrigado!

        // Minha solução
        cursos.stream().filter(c -> c.getAlunos() > 50).map(Curso::getNome).forEach(System.out::println);

        //Solução do Tutor
        cursos.stream().filter(c -> c.getAlunos() > 50).forEach(c-> System.out.println(c.getNome()));
1 resposta
solução!

Oi Bruno

Tem diferença de performance pois você utilizou uma operação .map a mais, na solução do instrutor o nome vem direto do elemento c do forEach então não precisa acumular no stream para depois passar para a operação forEach, na prática a sua solução está iterando duas vezes pelo stream de cursos.