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

Какой результат возвращает метод flatMap() при обработке коллекции или потока данных?

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

sobes.tech AI

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

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

Пример на Java:

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

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

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

Таким образом, flatMap() полезен для преобразования и объединения вложенных структур в один поток элементов.