Principal
...
//Top 5 episodios
System.out.println(("TOP 5 EPISODIOS"));
datosEpisodios.stream()
.filter(e->!e.evaluacion().equalsIgnoreCase("N/A"))
.sorted(Comparator.comparing(DatosEpisodio::evaluacion).reversed())
.limit(5)
.forEach(System.out::println);
//CONVIRTIENDO LOS DATOS A UNA LISTA DEL TIPO EPISODIO
List<Episodio> episodios = temporadas.stream()
.flatMap(t ->t.episodios().stream()
.map(d -> new Episodio(t.numero(),d)))
.collect(Collectors.toList());
episodios.forEach(System.out::println);
//BUSQUEDA DE EPISODIOS A PARTIR DE UN AÑO EN ESPECIFICO
System.out.println("Escriba el año desde el cual desea ver los episodios:");
var fecha = teclado.nextInt();
teclado.nextLine();
LocalDate fechaBusqueda = LocalDate.of(fecha,1,1);
DateTimeFormatter dtf = DateTimeFormatter.ofPattern("dd/MM/yyyy");
episodios.stream()
.filter(e -> e.getFechaDeLanzamiento() != null && e.getFechaDeLanzamiento().isAfter(fechaBusqueda))
.forEach(e -> System.out.println(
"Temporada: " + e.getTemporada() +
" - Episodio: " + e.getTitulo() +
" - Fecha de Lanzamiento: " + e.getFechaDeLanzamiento().format(dtf)
));