将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) 
Interesting Posts