过滤运算符
你可以使用 filter
运算符根据谓词方法的结果从值流中过滤掉项目。
换句话说,从 Observer 传递到订阅者的项目将根据你传递 filter
的函数被丢弃,如果函数返回 false
某个值,该值将被过滤掉。
例:
List<Integer> integers = Arrays.asList(0, 1, 2, 3, 4, 5, 6, 7, 8, 9);
Observable.from(integers)
.filter(number -> {
return (number % 2 == 0);
// odd numbers will return false, that will cause them to be filtered
})
.map(i -> {
return Math.pow(i, 2); // take each number and multiply by power of 2
})
.subscribe(onNext -> {
System.out.println(onNext); // print out the remaining numbers
});
此代码将打印出来
0.0
4.0
16.0
36.0
64.0