ExpertiDict

Java · Intermediário · Inglês · Técnico

flatMap

/ˈflæt mæp/substantivo

Operação de stream que transforma cada elemento em um stream e junta todos num só, achatando, por exemplo, uma lista de listas.

Onde usar

Aparece ao percorrer pedidos com itens: pedidos.stream().flatMap(p -> p.itens().stream()). Também existe em Optional.

Em código

var g = List.of(List.of(1, 2), List.of(3));
var todos = g.stream()
    .flatMap(List::stream)
    .toList();
System.out.println(todos); // [1, 2, 3]

Exemplos

Use flatMap to flatten the list of lists.

Use flatMap para achatar a lista de listas.

With map you get a stream of streams, flatMap fixes that.

Com map você recebe um stream de streams, o flatMap resolve isso.

Cuidado

Não confunda com map: map mantém um elemento por entrada e daria Stream<Stream<T>>; flatMap achata o resultado.

Sinônimos

achatar

Veja também

Todos os termos de Java