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

O funcionamento do map e explicação para stream

Então, o Stream ele pega os itens da lista para usar e o .map está percorrendo essa sequência que o stream criou?

1 resposta
solução!

Um stream representa uma sequência de elementos

List<String> myList =
    Arrays.asList("a1", "a2", "b1", "c2", "c1");

myList
    .stream()
    .filter(s -> s.startsWith("c"))
    .map(String::toUpperCase)
    .sorted()
    .forEach(System.out::println);

As operações feitas no stream podem ser intermediárias ou terminais. As operações intermediárias retornam um novo Stream para que possamos encadear várias operações intermediárias sem usar ponto e vírgula. As operações terminaais geralmente retornam um resultado que não é um novo Stream. No exemplo acima filter, map sorted são operações intermediárias enquanto que forEach é uma operação terminal.

A maioria dos métodos de Stream aceitam algum tipo de parâmetro de expressão lambda, uma interface funcional que especifica o comportamento exato da operação.