Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
1
respuesta

Orden

Perdón, pero creo que no entendí el orden del código en el ejercicio. No deberia de ser asi?

Transaccion = transacciones.stream()
    // Filtrar transacciones con valores superiores a 5000
    .filter(t -> t.getValor() > 5000)
    // Usa peek para imprimir cada Transaccion mientras se procesa
    .peek(t -> System.out::println)
    // Buscar la primera transacción que cumpla con los criterios
    .findFirst();

?

1 respuesta

¡Hola Daniel, espero que estés bien!

Entiendo tu confusión. En el código que has compartido, hay un pequeño error en el uso del método peek y en la forma en que estás imprimiendo cada transacción.

El método peek se utiliza para realizar operaciones intermedias sin afectar el flujo de elementos, por lo que no deberías usar System.out::println dentro de peek. En su lugar, deberías usar directamente System.out.println(t).

Además, la forma en que se está recolectando el resultado en un Set también es importante. La opción correcta en este caso sería la opción C, ya que primero se recolectan los resultados en un Set y luego se busca la primera transacción que cumpla con los criterios.

Espero que esta explicación te ayude a comprender mejor el orden del código y a resolver tu duda. ¡Sigue adelante con tu aprendizaje de Java!

Espero haber ayudado y buenos estudios!