Sobes.tech
Senior

O que são métodos intermédios e terminais em streams?

sobes.tech IA

Resposta da IA

Na API de Streams do Java, os métodos dividem-se em intermédios e terminais.

  • Métodos intermédios devolvem um novo stream e permitem construir uma cadeia de operações. São preguiçosos, ou seja, não são executados imediatamente, apenas quando um método terminal é chamado. Exemplos: filter(), map(), sorted(), distinct().

  • Métodos terminais iniciam o processamento do stream e retornam um resultado (não um stream). Após a sua chamada, a cadeia termina. Exemplos: collect(), forEach(), reduce(), count().

Exemplo:

List<String> names = List.of("Anna", "Bob", "Charlie", "David");

long count = names.stream()  // método intermédio stream()
    .filter(name -> name.length() > 3)  // método intermédio filter()
    .count();  // método terminal count()

System.out.println(count);  // Imprime o número de nomes com mais de 3 caracteres