我怎样才能从GroupedObservable获得价值?

时间:2018-01-02 14:47:07

标签: rx-java reactive-programming rx-java2

我使用了groupBy迭代器并获得了GroupedObservable对象。现在我想将该组减少为一个T对象。如何从GroupedObservable中获取V?我只能看到getKey()操作符和自动完成功能对我没有帮助。

  if (BuildConfig.FLAVOR.equals("someFlavor")) {
    //do some thing...
}

感谢。

2 个答案:

答案 0 :(得分:1)

GroupedObservableObservable,因此您可以使用通常的mapfilterflatMapcollect等运算符。

Observable.range(1, 20)
.groupBy(v -> v % 2 == 0)
.flatMapMaybe(group -> {
    return group.reduce((a, b) -> a + b)
           .map(v -> "Group " + group.getKey() + " sum is " + v);
})
.subscribe(System.out::println);

答案 1 :(得分:0)

getObservable()
.flatMap(Observable::from)
.groupBy(player-> player.getName())
.flatMap(player-> player.count()
.map(player -> player)
.subscribe(//** your logic for subscription **//); 

使用groupedObservable

的简单示例