Observable.just(1, 2, 3).reduce(new Func2<Integer, Integer, Integer>() {
@Override public Integer call(Integer integer, Integer integer2) {
if (integer > integer2) {
return integer;
} else {
return integer2;
}
}
}).subscribe(new Subscriber<Integer>() {
@Override public void onCompleted() {
}
@Override public void onError(Throwable e) {
}
@Override public void onNext(Integer integer) {
Timber.e("onNext integer>>" + integer);
}
});
reduce操作符实际上是把传入的list里的所有item进行两两比较,直到比较出最值,如果list的size小于2,那么reduce内的方法不会执行。