Estevão Dias

Introdução a Streams

Introdução a Streams

2 min de leitura Streams no Java

A Streams API, introduzida no Java 8, traz processamento declarativo de coleções.

O que é um Stream

Um Stream é uma sequência de elementos que suporta operações agregadas. Diferente de coleções, Streams não armazenam dados, apenas os processam.

Avaliação preguiçosa

Operações intermediárias (map, filter) são lazy e só executam quando uma operação terminal é chamada. Isso permite otimizações e reduz o processamento desnecessário.

List<String> nomes = List.of("ana", "bia", "caio");
String r = nomes.stream()
.filter(n -> n.length() == 3)
.map(String::toUpperCase)
.collect(Collectors.joining(", "));

Repare que nada acontece até o collect. Antes dele, o pipeline é só uma descrição do trabalho — as linhas destacadas acima compõem a etapa intermediária, avaliada apenas sob demanda. Este parágrafo existe para conferir o espaçamento logo depois da caixa de código.

Visualizando o pipeline

Um Stream pode ser lido como uma esteira: a fonte alimenta os elementos, cada operação intermediária os transforma, e a terminal coleta o resultado.

Esteira de processamento de um Stream
Diagrama de exemplo (placeholder) — clique para ampliar.

Depois da imagem o texto volta no mesmo ritmo vertical. Clicar na figura deve abri-la ampliada sobre a página; Esc ou um novo clique fecham o overlay.