Rx变换Observable <list <t>&gt;到Observable <t>

时间:2016-07-15 15:55:55

标签: java rx-java observable

我有Observable<List<T>>个可观察对象,可以发出许多List<T>个实例。 我想转换observable以返回单个列表中的所有T项。

具体问题是:

如何将Observable<List<T>>转换为Observable<T>

3 个答案:

答案 0 :(得分:4)

使用此:

observable.flatMapIterable(collection -> collection)

请记住,这也不能保证订单。

答案 1 :(得分:0)

确定。似乎平面地图操作员正在进行所需的转换:

 observable.flatMap((List<T> ts) -> Observable.from(ts)).toList();

答案 2 :(得分:0)

您需要的是flatMap可迭代对象:

observable.flatMapIterable(Functions.identity()).toList();

// or

observable.flatMap(Observable::fromIterable).toList();