RxJava操作符(8)-聚合
来源:互联网 发布:手机安全软件排名 编辑:程序博客网 时间:2024/06/08 20:14
Concat
Concat操作符将2到9个Observable,按照顺序将他们合并为一个Observable发射出去。
原理图如下:
Concat操作符使用如下:
@Override protected void createObservable() { super.createObservable(); mObservable = Observable.concat(Observable.just(4, 5, 6), Observable.just(1, 2, 3)); }
运行代码,结果如下:
Reduce
Reduce操作符对原始Observable发射数据的第一项应用一个函数,然后再将这个函数的返回值与第二项数据一起传递给函数,以此类推,持续这个过程知道原始Observable发射它的最后一项数据并终止,此时Reduce返回的Observable发射这个函数返回的最终值。
原理图如下:
Reduce操作符使用如下:
@Override protected void createObservable() { super.createObservable(); mObservable = Observable.just(1, 2, 3, 4, 5).reduce(new Func2<Integer, Integer, Integer>() { @Override public Integer call(Integer integer, Integer integer2) { return integer + integer2; } }); }
运行代码,结果如下:
Collect
Collect操作符将Observable要发射的数据,存放到一个数据结构里,在将这个数据结构发射出去。
原理图如下:
Collect操作符使用如下:
@Override protected void createObservable() { super.createObservable(); mObservable = Observable.concat(Observable.just(11, 12, 13, 14, 15), Observable.just(1, 2, 3, 4, 5)) .collect(new Func0() { @Override public ArrayList<Integer> call() { return new ArrayList<Integer>(); } }, new Action2<ArrayList<Integer>, Integer>() { @Override public void call(ArrayList<Integer> o, Integer o2) { o.add(o2); } }); }
运行代码,结果如下:
Count
Collect操作符将Observable要发射的数据,存放到一个数据结构里,在将这个数据结构发射出去。
原理图如下:
Count操作符使用如下:
@Override protected void createObservable() { super.createObservable(); mObservable = Observable.just(1, 2, 3).count(); }
运行代码,结果如下:
接下来就是鸣谢了,非常感谢以下两位博主,相关链接如下:
https://mcxiaoke.gitbooks.io/rxdocs/content/operators/Mathematical-and-Aggregate-Operators.html
http://mushuichuan.com/2015/12/11/rxjava-operator-8/
github地址
0 0
- RxJava操作符(8)-聚合
- RxJava操作符(09-算术/聚合操作&连接操作)
- RxJava----操作符:算术和聚合操作符
- RxJava算术聚合连接及自定义操作符
- RxJava使用介绍-Observable数学运算及聚合操作符
- [RxJava笔记]RxJava操作符
- RxJava 操作符 combineLatest
- RxJava 操作符 concat
- RxJava 操作符 interval
- RxJava 操作符 take
- RxJava操作符 reduce
- RxJava操作符学习
- RxJava defer操作符
- RXJAVA操作符
- RxJava 的操作符
- RxJava 操作符分类
- RxJava操作符
- RxJava操作符-subscribeOn
- HDU-2089 不要62(数位DP基础题-两种写法)
- 带你玩转Visual Studio——性能分析与优化
- Eclipse新建类的时候自动添加注释
- Universal-Image-Loader源码阅读(6)-core/imageaware/ViewAware
- 第一行代码Android学习(四)
- RxJava操作符(8)-聚合
- ODPS的SQL
- Opencv图像识别从零到精通(28)----Kmeans
- 极客班 c++(下)第二周学习笔记 ——重载 operator new & operator delete
- Unfortunately,Launcher has stopped
- 应用时间序列分析(王燕)学习笔记3
- linux 下文件及目录函数
- androidstudio快捷键
- c语言中的指针和数组