Repaso
English
Java CoreIntermedioJV-19

¿Qué imprime esto?

Stream.of(1, 2, 3)
    .peek(x -> System.out.print("a" + x + " "))
    .map(x -> x * 2);
System.out.println("done");

Opciones

  1. a1 a2 a3 done
  2. done (Opción correcta)
  3. done a1 a2 a3
  4. Error de compilación

Respuesta

done

Por qué

Los streams son lazy: las operaciones intermedias (peek, map, filter) solo describen qué hacer. Nada se ejecuta hasta que se llama a una operación terminal (collect, forEach, count, toList...).

Aquí no hay operación terminal, así que el pipeline nunca se ejecuta y solo se imprime "done".

Recuerda

Sin operación terminal = no se ejecuta nada.

Términos clave

Practica esta pregunta en Repaso