一、过滤型操作符
1、filter操作符
测试代码如下:

运行结果如下:

这里只打印了3。
总结:
- test方法,返回true,表示不过滤,直接发射到下游。
- test方法,返回false,表示过滤,不会发射到下游。
2、take操作符
测试代码如下:

运行结果如下:

总结:
- 需要配合定时器操作符才能体现take操作符的真正价值
- 当定时器执行take设置的个数后,就会停止计时。
3、distinct操作符
测试代码如下:

运行结果如下:

总结:
- 过滤掉重复的事件
4、elementAt操作符
测试代码如下:

运行结果如下:

总结:
- 只发送指定下标的事件
二、条件型操作符
1、all操作符
测试代码如下:

运行结果如下:

总结:
- 上游test()方法返回全部为true,下游才会为true,否则下游接收的为false
2、contains操作符
测试代码如下:

运行结果如下:

总结:
- 只要包含上游发送的事件,下游接收为true
3、isEmpty操作符
测试代码如下:

运行结果如下:

总结:
- 判断是否发射的数据为空,如果为空,返回true;如果不为空,返回false
4、any操作符
测试代码如下:

运行结果如下:

总结:
- 和all操作符相反,只要一个发射的数据满足条件,下游接收为true。只有当所有的发射的数据不满足条件,下游才为false。
本文详细解析RxJava中的过滤型操作符(filter, take, distinct, elementAt)和条件型操作符(all, contains, isEmpty, any),通过实例代码展示如何使用这些操作符进行数据流控制和条件判断。
2万+

被折叠的 条评论
为什么被折叠?



