Назад к вопросам
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 помогает преобразовать поток потоков в один поток элементов, что облегчает работу с вложенными коллекциями.