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

Какое основное назначение метода flatMap в обработке потоков данных при использовании Stream API?

Компании, где спрашивали
Тетрасофт

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

sobes.tech AI

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

Основное назначение — развернуть вложенные структуры данных (например, списки списков) в единый поток элементов, чтобы упростить дальнейшую обработку.

Пример:

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

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

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

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