Ответ
flatMap — это оператор в RxJava, который преобразует каждый элемент потока в новый поток, а затем объединяет все эти потоки в один.
Особенности:
- Порядок элементов не гарантируется (если нужен порядок — используйте
concatMap). - Подходит для асинхронных операций (например, сетевых запросов).
Пример:
Observable.just("user1", "user2", "user3")
.flatMap { userName ->
api.fetchUserDetails(userName).toObservable()
}
.subscribe { userDetails ->
println(userDetails)
}
Здесь для каждого имени пользователя выполняется запрос fetchUserDetails, а результаты объединяются в один поток.