博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
rxJava例子
阅读量:4202 次
发布时间:2019-05-26

本文共 1809 字,大约阅读时间需要 6 分钟。

反正比较简单,直接上例子了

import java.util.ArrayList;import java.util.Iterator;import java.util.List;import rx.Observable;import rx.Subscriber;import rx.functions.Func1;//参考:http://reactivex.io/documentation/operators.htmlpublic class RxTest01 {	public static void main(String[] args) {				Observable observable = Observable.from(mockTable());		observable		//.filter(filter())		.subscribe(subscriber());	}		public static Func1
filter() { return new Func1
() { @Override public Boolean call(Object arg0) { int counter = 0; // just for test, mulithread need to use AtomicInteger @SuppressWarnings("unchecked") List
row = (List) arg0; Iterator rowItr = row.iterator(); while(rowItr.hasNext()) { counter++; Object value = (Object)rowItr.next(); if (counter == row.size()) { //only process amount return ((Double)value > 3.0); //filter } } return false; } }; } public static Subscriber subscriber() { return new Subscriber() { @Override public void onNext(Object arg0) { @SuppressWarnings("unchecked") List row = (List) arg0; Iterator rowItr = row.iterator(); while(rowItr.hasNext()) { Object value = (Object)rowItr.next(); System.out.print(value + " "); } System.out.println(); } @Override public void onCompleted() { System.out.println("~~Completed!"); } @Override public void onError(Throwable e) { System.out.println("~~Ouch!"); } }; } public static List mockTable() { List tableA = new ArrayList(); List row1 = new ArrayList(); row1.add("01"); //id row1.add("name1"); //name row1.add(1.1); //amount List row2 = new ArrayList(); row2.add("02"); row2.add("name2"); row2.add(2.2); List row3 = new ArrayList(); row3.add("03"); row3.add("name3"); row3.add(3.3); tableA.add(row1); tableA.add(row2); tableA.add(row3); return tableA; /* 01 name1 1.1 02 name2 2.2 03 name3 3.3 */ }}

转载地址:http://qdili.baihongyu.com/

你可能感兴趣的文章
Web项目实现ServletContextListener接口
查看>>
版本控制工具CVS、SVN、Git介绍
查看>>
MyBatis批量操作SQL
查看>>
MyBatis之SqlSessionFactoryBuilder
查看>>
查看linux服务器配置信息
查看>>
Java集合-HashMap源码
查看>>
rabbitmq交换机类型
查看>>
DOS命令列举
查看>>
MyBatis之Transaction
查看>>
1.idea中Maven创建项目及2.对idea中生命周期的理解3.pom文件夹下groupId、artifactId含义
查看>>
在idea中创建Maven项目常见错误
查看>>
在Linux虚拟机上安装MySQL遇到的错误
查看>>
Spring常见错误
查看>>
SSM第三阶段整理
查看>>
什么时候用resultMap,什么时候用resultType?
查看>>
广二师校外访问知网
查看>>
Arduino配置ESP32开发环境(免运行get.exe)
查看>>
会声会影2018、2019版启动提示未注册的解决方法
查看>>
一键下载淘宝买家秀图片(win10)
查看>>
NetBeans IDE 中国教育考试版 (2007)运行界面空白解决方法(计算机二级java)
查看>>