Sobes.tech
Junior — Middle

Podes dar exemplos de métodos terminais na API Stream em Java?

sobes.tech IA

Resposta da IA

Os métodos terminais na API Stream do Java são operações que finalizam o processamento do fluxo e retornam um resultado ou um efeito colateral. Eles não retornam um novo Stream, mas, por exemplo, calculam um valor ou coletam elementos.

Exemplos de métodos terminais:

  • forEach(Consumer<? super T> action) — realiza uma ação para cada elemento.
  • collect(Collector<? super T,A,R> collector) — coleta elementos numa coleção ou outro recipiente.
  • reduce(BinaryOperator<T> accumulator) — reduz os elementos a um único valor.
  • count() — devolve o número de elementos.
  • anyMatch(Predicate<? super T> predicate) — verifica se pelo menos um elemento satisfaz a condição.
  • allMatch(Predicate<? super T> predicate) — verifica se todos os elementos satisfazem a condição.
  • findFirst() — devolve o primeiro elemento do fluxo (se existir).

Exemplo:

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