1
resposta

Dúvida nos intermediários

Insira aqui a descrição dessa imagem para ajudar na acessibilidadeGostaria de entender mais a fundo os intermediários do Map. O "groupingBy" faz um array? Que vai pegar o numero total de temporadas, passar por cada episodio dela , ir pegando a Avaliacao e faz a media? Não entendi mt bem esses Collectors e nem o Integer e Double no parametro da função. Se alguem puder me explicar com detahes, por favor.

1 resposta

Aqui está o texto com a gramática corrigida:

O que está acontecendo aí é o seguinte:

  1. O objeto "episodios" é transformado em uma Stream (episodios.stream()).
  2. Essa stream, depois, é coletada em um Mapa (Map), com a chave sendo um inteiro (Integer) e o valor sendo um número com pontos flutuantes (Double). O método para coletar a stream de episódios no mapa utiliza dois parâmetros: uma função classificadora (classifier) e uma downstream, que pode ser entendida como uma função de redução.

Traduzindo, o que esse método vai fazer é mapear todos os episódios, agrupando-os por temporadas, e para cada temporada ele vai calcular uma média do valor das avaliações da temporada, deixando você com um Map<Numero da temporada, Media de avaliações>.

E, na verdade, esse método "groupingBy" é um método da classe Collectors.