Назад к вопросам
Junior — Middle
59
Какое назначение у метода flatMap в рамках Stream API для обработки последовательностей данных?
Компании, где спрашивали
Stroki
Ответ от нейросети
sobes.tech AI
Метод flatMap в Stream API используется для преобразования каждого элемента исходного потока в новый поток, а затем объединяет (флэтит) все эти потоки в один единый поток. Это удобно, когда каждый элемент может соответствовать множеству элементов в результирующем потоке.
Например, если у вас есть список строк, и вы хотите получить поток всех символов из всех строк, можно использовать flatMap:
List<String> words = List.of("hello", "world");
List<Character> chars = words.stream()
.flatMap(word -> word.chars().mapToObj(c -> (char) c))
.collect(Collectors.toList());
Здесь flatMap превращает каждое слово в поток символов, а затем объединяет все эти потоки в один.
Таким образом, flatMap помогает работать с вложенными структурами данных и упрощает их обработку в виде плоского потока.