将平面地图与分组的可观测量配合使用



我是RxJava的新手,试图理解它。我有以下来源:

Observable<Employee> obs = Observable.just(
new Employee(101, "Jim", 68_000, 4.2),
new Employee(123, "Bill", 194_000, 6.7));  
obs.groupBy(e -> e.getRating())
.flatMap(e-> {
return Observable.fromIterable(
Arrays.asList(e.getKey())
);
})
.subscribe(System.out::println);

这将打印作为评级的键,但我无法打印值.
可以使用flatMap吗?

groupBy返回一个Observable,该为每个唯一键发出一个GroupedObservableGroupedObservable实际上只是一个添加了getKey方法的Observable,因此您可以确定GroupedObservable与哪个键相关联。所以,如果你想发出每个GroupedObservable中的每个值,只需将整个事情直接传递给flatMap调用:

Observable<Employee> obs = Observable.just(
new Employee(101, "Jim", 68_000, 4.2),
new Employee(123, "Bill", 194_000, 6.7));  
obs.groupBy(e -> e.getRating())
.flatMap(e -> e)
.subscribe(System.out::println);

最新更新