Назад к вопросам
Junior — Middle
61
Какой тип данных используется в методе flatMap при обработке коллекций или потоков данных?
Ответ от нейросети
sobes.tech AI
В Java метод flatMap используется для преобразования элементов коллекции или потока в другие потоки, а затем объединяет их в один плоский поток. Тип данных, который он принимает и возвращает, зависит от контекста, но обычно это функция, которая для каждого элемента возвращает Stream<T>.
Например, если у вас есть Stream<List<String>>, flatMap позволяет преобразовать его в Stream<String>, "расплющивая" вложенные коллекции.
Пример:
List<List<String>> listOfLists = Arrays.asList(
Arrays.asList("a", "b"),
Arrays.asList("c", "d")
);
List<String> flatList = listOfLists.stream()
.flatMap(List::stream) // функция, возвращающая Stream<String>
.collect(Collectors.toList());
System.out.println(flatList); // [a, b, c, d]
Таким образом, flatMap работает с функцией, которая для каждого элемента возвращает поток (Stream), и объединяет все эти потоки в один.