一、描述
抑制(过滤掉)重复的数据项。
Distinct的过滤规则是:只允许还没有发射过的数据项通过。
在某些实现中,有一些变体允许你调整判定两个数据不同(distinct)的标准。还有一些实现只比较一项数据和它的直接前驱,因此只会从序列中过滤掉连续重复的数据。
二、示意图
三、示例代码
1 | Observable.just(1, 2, 1, 1, 2, 3) |
四、运行结果
1 | onNext: 1 |
项目代码已上传到Github:https://github.com/SherlockShi/RxJavaBestPractise
五、更多
distinct操作符还有以下变体:
- distinct(Func1)
跟distinct相关的操作符还有:
- distinctUntilChanged
- distinctUntilChanged(Func1)
详情可查阅下面的参考资料。
六、参考资料
PS:欢迎关注 SherlockShi 个人博客