Java · Intermediário · Inglês · Técnico
flatMap
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