web-dev-qa-db-fra.com

Convertir Observable <Liste <Voiture >> en une séquence de Observable <Voiture> dans RxJava

Étant donné une liste de voitures (List<Car> cars), Je peux faire:

Observable.just(cars); //returns an Observable that emits one List<Car>
Observable.from(cars); //returns an Observable that emits a squence of Car

Est-il possible de passer d'un Observable d'un List<Car> à une séquence de Observable<Car>?

Quelque chose comme un from sans paramètres

Obserable.just(cars).from()
53
Giorgio

Vous pouvez cartographier un Observable<List<Car>> à Observable<Car> ainsi:

yourListObservable.flatMapIterable(x -> x)

Notez que flatMapping peut ne pas conserver l'ordre des sources observables. Si l'ordre vous intéresse, utilisez concatMapIterable. Lire ici pour plus de détails.

105
Egor Neliuba

tu peux utiliser ça

flatMap { t -> Observable.fromIterable(t) }