Sobes.tech
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