Rxjava学习之过滤操作符 — distinct
来源:互联网 发布:vmware装mac os 编辑:程序博客网 时间:2024/06/16 00:41
四种操作格式:
1. distinct()
2. distinct(Func1)
3. distinctUntilChanged()
4. distinctUntilChanged(Func1))
1、distinct()
Distinct的过滤规则是:只允许还没有发射过的数据项通过。
在某些实现中,有一些变体允许你调整判定两个数据不同(distinct)的标准。还有一些实现只比较一项数据和它的直接前驱,因此只会从序列中过滤掉连续重复的数据。
Observable.just(1,2,3,4,5,5,6) .distinct() .subscribe(integer -> Log.d("TAG","--->"+integer));
运行结果:
—>1
—>2
—>3
—>4
—>5
—>6
2、distinct(Func1)
这个操作符有一个变体接受一个函数。这个函数根据原始Observable发射的数据项产生一个Key,然后,比较这些Key。如果两个数据的key相同,则只保留最先到达的数据。
Observable.just(1,2,3,true,4,10.0f,false,6.1f).distinct(item -> { if (item instanceof Integer) { return "I"; }else if(item instanceof Boolean){ return "B"; }else { return "F"; } } ) .subscribe( integer-> Log.d("TAG", "distinct:"+integer));
运行结果:
distinct:1
distinct:true
distinct:10.0
3、distinctUntilChanged()
它只判定一个数据和它的直接前驱是否是不同的
Observable.just(1,2,3,2,5,5,6).distinctUntilChanged() .subscribe(integer -> Log.d("TAG","--->"+integer));
运行结果:
—>1
—>2
—>3
—>2
—>5
—>6
4、distinctUntilChanged(Func1)
跟distinct(Func1)操作类似,但是判定的key是否和前驱重复。
Observable.just(1,2,3,true,4,10.0f,false,6.1f).distinctUntilChanged( item -> { if (item instanceof Integer) { return "I"; }else if(item instanceof Boolean){ return "B"; }else { return "F"; } } ) .subscribe(obj -> Log.d("TAG","--->"+obj));
运行结果:
—>1
—>true
—>4
—>10.0
—>false
0 0
- Rxjava学习之过滤操作符 — distinct
- RxJava 过滤操作符 distinct和elementAt
- Rxjava学习之过滤操作符—filter、elementAt
- Rxjava的学习之过滤操作符—first
- RxJava之过滤操作符
- RxJava—过滤操作符
- Rxjava(过滤类)-Distinct
- RxJava操作符总结之过滤
- RxJava操作符总结之过滤
- RxJava-过滤操作符
- RxJava过滤操作符
- Rxjava 过滤操作符
- RxJava操作符之过滤操作符(五)
- RxJava过滤操作符 filter
- RxJava过滤操作符 debounce
- RxJava 过滤操作符 ofType
- RxJava 过滤操作符 ignoreElements
- RxJava 过滤操作符 sample
- Hadoop安装与搭建
- 51单片机--如何解决步进电机只颤不转
- EBS_财务报表生成器(FSG)的设置
- ionic2 APP头像上传简单样例
- Android开发学习笔记(1)
- Rxjava学习之过滤操作符 — distinct
- 5.html&css实验5. 颜色、字体、文本格式化和盒模型的样式定义
- 代码规范
- 产品电源供电部分采用缓启动电路,对其中上电和断电的过程分析
- P3369 【模板】普通平衡树(Treap/SBT)
- 集算器比较csv文件中数据差异_润乾软件|数据处理-数据计算引擎
- java 执行MySQL脚本小干货
- highcharts 时间问题
- 常用的排序算法