Sobes.tech
Junior — Middle

Qual é o conceito de usar flatMap ao trabalhar com coleções?

sobes.tech IA

Resposta da IA

O método flatMap é usado para transformar os elementos de uma coleção em fluxos (Stream), e depois combina todos esses fluxos resultantes em um único fluxo plano. Isso é especialmente útil quando cada elemento da coleção original pode ser transformado em vários elementos, e é necessário obter uma lista única de todos esses elementos.

Por exemplo, se você tem uma lista de listas, flatMap ajudará a obter uma única lista de todos os elementos de todas as listas aninhadas.

Exemplo em Java:

List<List<String>> listOfLists = List.of(
    List.of("a", "b"),
    List.of("c", "d")
);

List<String> flatList = listOfLists.stream()
    .flatMap(Collection::stream)
    .collect(Collectors.toList());

System.out.println(flatList); // [a, b, c, d]

Assim, flatMap simplifica o trabalho com estruturas aninhadas, permitindo "achatar" em um único fluxo de elementos.