Sobes.tech
Junior — Middle

¿Puedes dar ejemplos de métodos terminales en la API Stream en Java?

sobes.tech AI

Respuesta de la IA

Los métodos terminales en la API Stream de Java son operaciones que finalizan el procesamiento del flujo y devuelven un resultado o un efecto secundario. No devuelven un nuevo Stream, sino que, por ejemplo, calculan un valor o recopilan elementos.

Ejemplos de métodos terminales:

  • forEach(Consumer<? super T> action) — realiza una acción para cada elemento.
  • collect(Collector<? super T,A,R> collector) — recopila elementos en una colección u otro contenedor.
  • reduce(BinaryOperator<T> accumulator) — reduce los elementos a un solo valor.
  • count() — devuelve el número de elementos.
  • anyMatch(Predicate<? super T> predicate) — verifica si al menos un elemento cumple la condición.
  • allMatch(Predicate<? super T> predicate) — verifica si todos los elementos cumplen la condición.
  • findFirst() — devuelve el primer elemento del flujo (si existe).

Ejemplo:

List<String> list = Arrays.asList("a", "bb", "ccc");
long count = list.stream()
                 .filter(s -> s.length() > 1)
                 .count();  // método terminal
System.out.println(count);  // 2