Чем map отличается от flatMap?
Какие функции высшего порядка ты знаешь? Сравни map, compactMap, flatMap.
В каких задачах flatMap действительно необходим, а map — недостаточен?
Специализация
Python Backend Developer
Java Backend Developer
Node.js Backend Developer
Golang Backend Developer
React Frontend Developer
Выберите навыки
React
JavaScript
Git
Redux
Webpack
Сложность
1-3
4-6
7-8
9-10
Рейтинг вопросов
1
2
3
4
5
Подпишись на React Developer в телеграм
Рейтинг:
1
Сложность:
6
map: Преобразует каждый элемент стрима в другой элемент (1:1).
flatMap: Преобразует каждый элемент в стрим элементов и объединяет их в один стрим (1:N).
Рейтинг:
2
Сложность:
6
Функции высшего порядка принимают или возвращают функции. Основные: map преобразует каждый элемент, compactMap также удаляет nil, а flatMap преобразует и "разворачивает" результат (например, преобразует массив массивов в плоский массив).
Рейтинг:
5
Сложность:
6
flatMap нужен, когда один элемент преобразуется в несколько элементов или в поток элементов. map в таких случаях создаёт вложенные структуры, например Stream<Stream<T>>. flatMap разворачивает эти структуры в один поток. Это упрощает дальнейшую обработку. Поэтому он незаменим при работе с коллекциями внутри коллекций.