Olá, percebi um erro em um exercício proposto na plataforma pois não segue os algoritmos da questão:
Utilizando o Stream API e o conceito de Maps, peek, findFirst e demais recursos', como você criaria um fluxo que filtra as transações com valores superiores a 5000, imprime uma espécie de log com peek, busca a primeira destas transações encontradas e coleta os resultados em um Set?
Teoricamente, o código seria algo como:
transacoes.stream()
.filter(t -> t.getValor() > 5000)
.peek(System.out::println)
.findFirst()
.collect(Collectors.toSet()).stream();
Contudo, das alternativas apresentadas, a que apresentou como correta foi a letra A:
transacoes.stream()
.filter(t -> t.getValor() > 5000)
.peek(System.out::println)
.collect(Collectors.toSet()).stream()
.findFirst();
Neste segundo caso, o 'findFirst()' está vindo posterior ao 'collect', onde no enunciado pede para que o algoritmo seja o contrário:
"busca a primeira destas transações encontradas e coleta os resultados em um Set?".
Poderiam verificar por gentileza?