基本上我有
Observable<T1> obs1;
Observable<T2> obs2;
Observable<T3> obs3;T1,T2,T3都扩展了具有getId() ->的T,我想将groupBy应用于这两个可观测值。
我查看了zip/combineLatest,但它们使用的是最新的值(我也不想使用toMap )。
UPD:基本上,您可能认为obs1是一个Observable.fromIterable(map.values())、obs2 = Observable.fromIterable(map.values())等等,我真正想要的是将每个键的值组合起来。它可能是: key#1:(null,valOfT2,null),key#2:(valOfT1,valOfT2,valOfT3)等等。我可能可以使用toMap,然后将3个映射的键集合合并,然后迭代地设置值。
发布于 2018-01-24 19:03:38
只需将两者连接起来,并使用toMultimap:
Observable.concat(
Observable.fromIterable(map1.values()),
Observable.fromIterable(map2.values())
)
.toMultimap(v -> v.getId())https://stackoverflow.com/questions/48426631
复制相似问题