在 RxJava 中将 Observable<List<Car>> 转换为 Observable<Car> 的序列
Convert Observable<List<Car>> to a sequence of Observable<Car> in RxJava
给定汽车列表 (List<Car> cars
),我可以这样做:
Observable.just(cars); //returns an Observable that emits one List<Car>
Observable.from(cars); //returns an Observable that emits a squence of Car
有什么方法可以从 List<Car>
的 Observable
到 Observable<Car>
的序列?
类似于 from
没有参数
Obserable.just(cars).from()
您可以像这样将 Observable<List<Car>>
映射到 Observable<Car>
:
yourListObservable.flatMapIterable(x -> x)
请注意,flatMapping 可能不会保留源可观察对象的顺序。如果顺序对您很重要,请使用 concatMapIterable
。阅读 here 了解更多详情。
你可以用这个
flatMap { t -> Observable.fromIterable(t) }
给定汽车列表 (List<Car> cars
),我可以这样做:
Observable.just(cars); //returns an Observable that emits one List<Car>
Observable.from(cars); //returns an Observable that emits a squence of Car
有什么方法可以从 List<Car>
的 Observable
到 Observable<Car>
的序列?
类似于 from
没有参数
Obserable.just(cars).from()
您可以像这样将 Observable<List<Car>>
映射到 Observable<Car>
:
yourListObservable.flatMapIterable(x -> x)
请注意,flatMapping 可能不会保留源可观察对象的顺序。如果顺序对您很重要,请使用 concatMapIterable
。阅读 here 了解更多详情。
你可以用这个
flatMap { t -> Observable.fromIterable(t) }