Sobes.tech
Назад к вопросам
Junior — Middle
97

В каких случаях следует применять метод flatMap в обработке коллекций?

Компании, где спрашивали
СБЕРСБЕР

Ответ от нейросети

sobes.tech AI

Метод flatMap применяется, когда нужно обработать коллекцию, элементы которой сами являются коллекциями (или опциональными значениями), и получить из них один плоский поток элементов.

Например, если у вас есть список списков, и вы хотите получить один список всех элементов, а не список списков.

Пример:

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

List<String> flatList = listOfLists.stream()
    .flatMap(Collection::stream) // превращаем Stream<List<String>> в Stream<String>
    .collect(Collectors.toList());

// flatList будет содержать: ["a", "b", "c", "d"]

Таким образом, flatMap помогает "развернуть" вложенные структуры и работать с элементами как с одним потоком.