Hola Walter, espero que estés bien
Gracias por tu observación. Tienes toda la razón al señalar que para que el flujo (Stream
) realice una acción visible, es necesario incluir una operación terminal, como forEach
, que permita imprimir o procesar el resultado final.
En el contexto de tu ejercicio, después de filtrar y ordenar los clientes, deberías añadir una operación terminal para mostrar los resultados. Aquí tienes un ejemplo de cómo podrías hacerlo:
datosClientes.stream()
.filter(c -> c.getTipoCuenta().equalsIgnoreCase("corriente"))
.sorted(Comparator.comparingDouble(Cuenta::getSaldo).reversed())
.limit(5)
.forEach(cliente -> System.out.println(cliente));
Este código filtra los clientes con cuentas corrientes, los ordena por saldo de manera descendente, toma los cinco primeros y luego imprime cada uno de ellos. La operación forEach
es la que hace que el Stream
ejecute las operaciones previas y muestre los resultados.
Espero que esto aclare tu duda y te ayude a avanzar en el ejercicio. ¡Espero haber ayudado y buenos estudios!