Map<Integer, Double> avaliacoesPorTemporada = episodios.stream()
.filter(e -> e.getAvaliacao() > 0.0)
.collect(Collectors.groupingBy(Episodio::getTemporada,
Collectors.averagingDouble(Episodio::getAvaliacao)));
System.out.println(avaliacoesPorTemporada);
DoubleSummaryStatistics est = episodios.stream()
.filter(e -> e.getAvaliacao() > 0.0)
.collect(Collectors.summarizingDouble(Episodio::getAvaliacao));
System.out.println("Média: " + est.getAverage());
System.out.println("Melhor episódio: " + est.getMax());
System.out.println("Pior episódio: " + est.getMin());
System.out.println("Quantidade: " + est.getCount());
}
}