Sobes.tech
Назад к вопросам
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 помогает работать с вложенными структурами данных и упрощает их обработку в виде плоского потока.