Repaso
English
Java CoreIntermedioJV-18

¿Qué imprime esto?

List<String> names = List.of("Ana", "Bob", "Alicia", "Carl");
List<String> r = names.stream()
    .filter(n -> n.startsWith("A"))
    .map(String::toUpperCase)
    .toList();
System.out.println(r);

Opciones

  1. [Ana, Alicia]
  2. [ANA, ALICIA] (Opción correcta)
  3. [ANA, BOB, ALICIA, CARL]
  4. [A, A]

Respuesta

[ANA, ALICIA]

Por qué

Un Stream es un pipeline para procesar una colección: origen, luego pasos intermedios y luego un paso final (terminal).

filter conserva los nombres que empiezan por "A" (Ana, Alicia). map(String::toUpperCase) convierte cada uno a mayúsculas. toList() reúne el resultado.

La lista original no se modifica. n -> n.startsWith("A") es una lambda: una función anónima corta.

Recuerda

Stream = origen, operaciones intermedias (filter/map), operación terminal (toList/collect).

Términos clave

Practica esta pregunta en Repaso