Middle
40
questionbank

В чем разница между операциями map и flatMap?

Получайте ответы на вопросы в реальном времени с Sobes Copilot
Ответ от нейросети sobes.tech

map преобразует каждый элемент стрима в новый элемент, возвращая стрим с тем же количеством элементов.

flatMap преобразует каждый элемент стрима в стрим элементов, а затем объединяет эти вложенные стримы в один плоский стрим. Используется, когда преобразование одного элемента приводит к нескольким элементам.

Пример:

Предположим, у нас есть список списков строк: List<List<String>> listOfLists.

Использование map:

java

Использование flatMap:

java

Сравнительная таблица:

ОперацияВходПреобразованиеВыходНазначение
mapStream<T>T -> RStream<R>Преобразование каждого элемента
flatMapStream<T>T -> Stream<R>Stream<R>Преобразование каждого элемента в стрим и объединение