将Observable <List <Car >>转换为RxJava中的Observable <Car>序列
给定的汽车列表(汽车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<Car>
到一个Observable<Car>
的序列?
像没有参数的东西
Obserable.just(cars).from()
RxJava 1解决scheme
您可以将Observable<List<Car>>
映射到Observable<Car>
如下所示:
yourListObservable.flatMap(Observable::from)
如果你的Java版本不支持方法引用,那么调用应该看起来像这样:
yourListObservable.flatMap(new Func1<List<Car>, Observable<Car>>() { @Override public Observable<Car> call(List<Car> iterable) { return Observable.from(iterable); } })
RxJava 2解决scheme
yourListObservable.flatMapIterable(x -> x)