Senior
¿Qué son los métodos intermedios y terminales en los streams?
sobes.tech AI
Respuesta de la IA
En la API de Streams de Java, los métodos se dividen en intermedios y terminales.
-
Métodos intermedios devuelven un nuevo stream y permiten encadenar operaciones. Son perezosos, es decir, no se ejecutan inmediatamente, sino solo cuando se llama a un método terminal. Ejemplos:
filter(),map(),sorted(),distinct(). -
Métodos terminales inician el procesamiento del stream y devuelven un resultado (no un stream). Después de su llamada, la cadena termina. Ejemplos:
collect(),forEach(),reduce(),count().
Ejemplo:
List<String> names = List.of("Anna", "Bob", "Charlie", "David");
long count = names.stream() // método intermedio stream()
.filter(name -> name.length() > 3) // método intermedio filter()
.count(); // método terminal count()
System.out.println(count); // Imprime la cantidad de nombres con más de 3 caracteres