¡Hola Yolima, espero que estés bien!
Parece que estás trabajando con lambdas, streams y el Spring Framework para generar estadísticas de evaluaciones de episodios. Por lo que veo en tu código, ya has logrado agrupar y calcular la media de evaluaciones por temporada y también has utilizado DoubleSummaryStatistics
para obtener estadísticas generales de las evaluaciones.
Aquí tienes algunas sugerencias para asegurarte de que estás en el camino correcto:
Agrupación por Temporada: Tu código para agrupar las evaluaciones por temporada y calcular la media parece estar bien. Estás utilizando Collectors.groupingBy
y Collectors.averagingDouble
, lo cual es correcto para este propósito.
Map<Integer, Double> evaluacionesPorTemporada = episodios.stream()
.filter(e -> e.getEvaluacion() > 0)
.collect(Collectors.groupingBy(Episodio::getTemporada,
Collectors.averagingDouble(Episodio::getEvaluacion)));
System.out.println(evaluacionesPorTemporada);
Estadísticas Generales: También estás utilizando DoubleSummaryStatistics
correctamente para obtener la media, el máximo, el mínimo y la cantidad de evaluaciones.
DoubleSummaryStatistics est = episodios.stream()
.filter(e -> e.getEvaluacion() > 0)
.collect(Collectors.summarizingDouble(Episodio::getEvaluacion));
System.out.println("Media " + est.getAverage());
System.out.println("Mejor episodio: " + est.getMax());
System.out.println("Peor episodio: " + est.getMin());
System.out.println("Cantidad " + est.getCount());
Uso de peek
: Si aún no lo has hecho, podrías experimentar con el método peek
para ver cómo fluyen los datos a través de tu stream. peek
es útil para depuración, ya que te permite "espiar" los elementos mientras pasan por el stream.
episodios.stream()
.filter(e -> e.getEvaluacion() > 0)
.peek(e -> System.out.println("Procesando episodio: " + e))
.collect(Collectors.summarizingDouble(Episodio::getEvaluacion));
Espero que estas sugerencias te sean útiles para completar la actividad. ¡Sigue practicando y experimentando con las operaciones encadenadas de streams!
Espero haber ayudado y buenos estudios!