Встречается на 9% собеседований по Java
В чем разница между методами map и flatMap в Stream API
map и flatMap — методы Stream API для преобразования элементов, но работают по-разному:
- map — применяет функцию к каждому элементу и возвращает поток с результатами (1:1).
Пример:javaList<String> names = List.of("John", "Alice"); List<Integer> lengths = names.stream() .map(String::length) // преобразует String в int .toList(); // [4, 5]
- flatMap — преобразует каждый элемент в поток и "разглаживает" результаты в один поток (1:N).
Пример:javaList<List<String>> nested = List.of(List.of("a", "b"), List.of("c")); List<String> flat = nested.stream() .flatMap(List::stream) // "разворачивает" вложенные списки .toList(); // ["a", "b", "c"]
Ключевое отличие:
map сохраняет структуру (один элемент → один результат), а flatMap "разворачивает" вложенные потоки в единую последовательность.

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы