肥宅钓鱼网
当前位置: 首页 钓鱼百科

springcloud与rpc的区别(RxJava响应式编程框架)

时间:2023-08-22 作者: 小编 阅读量: 1 栏目名: 钓鱼百科

过滤型操作符本节介绍RxJava的两个过滤型操作符:filter操作符和distinct操作符。filter操作符filter操作符用于判断Observable弹射的每一个消息是否满足条件。如果满足条件,就继续向下游的观察者传递;如果不满足条件,就过滤掉。filter操作符的处理流程如图4-4所示。

过滤型操作符

本节介绍RxJava的两个过滤型操作符:filter操作符和distinct操作符。

filter操作符

filter操作符用于判断Observable弹射的每一个消息是否满足条件。如果满足条件,就继续向下游的观察者传递;如果不满足条件,就过滤掉。filter操作符的处理流程如图4-4所示。

图4-4 filter操作符的处理流程

filter操作符使用Func1函数式接口传入判断条件,其演示代码如下:

package com.crazymaker.demo.rxJava.basic;...@Slf4jpublic class FilterOperatorDemo { /** *演示filter的基本使用 */ @Test public void filterDemo() { //通过filter筛选能被5整除的数 Observable.range(1, 20) .filter(new Func1<Integer, Boolean>() { @Override public Boolean call(Integer integer) { return integer % 5 == 0; } }) .subscribe(i -> log.info("filter int->"i)); }}

上述演示代码首先通过rang操作符弹射一个范围为[1,20]的整数序列,然后通过filter操作符对弹射的数据进行筛选,筛选出能被5整除的数。

运行这个演示程序,输出的结果如下:

21:45:40.579 [main] INFO c.c.d.r.b.FilterOperatorDemo - filter int->521:45:40.584 [main] INFO c.c.d.r.b.FilterOperatorDemo - filter int->1021:45:40.584 [main] INFO c.c.d.r.b.FilterOperatorDemo - filter int->1521:45:40.585 [main] INFO c.c.d.r.b.FilterOperatorDemo - filter int->20

上面的演示代码,如果使用Lambda表达式进行改写,那么改写后的代码如下:

//使用Lambda形式演示filter的基本使用 @Test public void filterDemoLambda() { //通过filter筛选出能被5整除的数 Observable.range(1, 20) .filter(integer -> integer%5==0) .subscribe(i -> log.info("filter int->"i)); }

distinct操作符

distinct操作符用于在消息流中过滤掉重复的元素,过滤规则为:

只允许还没有被弹射过的元素弹射出去。distinct操作符的处理流程如图4-5所示。

图4-5 distinct操作符的处理流程

下面是一个简单的distinct操作符的使用实例:

package com.crazymaker.demo.rxJava.basic;//省略import@Slf4jpublic class FilterOperatorDemo { /** *演示distinct基本使用 */ @Test public void distinctDemo() { Observable.just("apple", "pair", "banana", "apple", "pair") .distinct() //使用distinct过滤重复元素 .subscribe(s -> log.info("distinct s->"s)); }}

运行这个演示程序,输出的结果如下:

15:05:32.229 [main] INFO c.c.d.r.b.FilterOperatorDemo - distinct s->apple15:05:32.234 [main] INFO c.c.d.r.b.FilterOperatorDemo - distinct s->pair15:05:32.234 [main] INFO c.c.d.r.b.FilterOperatorDemo - distinct s->banana

从输出的结果可以看出,由于消息流前面已经被弹射过了,因此消息流后面的"apple"、"pair"两个元素被过滤了。

本文给大家讲解的内容是SpringCloudRPC远程调用核心原理: RxJava响应式编程框架,过滤型操作符
  1. 下篇文章给大家讲解的是SpringCloudRPC远程调用核心原理: RxJava响应式编程框架,转换型操作符;
  2. 觉得文章不错的朋友可以转发此文关注小编;
  3. 感谢大家的支持!
    推荐阅读
  • 安家中房似锦原生家庭(房似锦原生家庭详解)

    安家中房似锦原生家庭房似锦的母亲潘贵雨有着严重的“重男轻女”守旧观念,一共有4个女儿和1个儿子,房似锦是他们家的老四。因为房似锦是个女儿,所以母亲当年将她扔到井里头,但庆幸的是房似锦活了下来。幸运的是,房似锦一直读到了高中并顺利考上了985的重点大学。在逃跑的过程中,家里唯一心疼她的爷爷给了房似锦两个馒头以及身上仅有了1000元,帮助她成功逃离了家庭。

  • 电脑word打开后一直不断显示未响应(电脑word打开后一直不断显示未响应)

    1、按Win+R键,打开运行,输入winWord/safe,点击确定进入无加载项word。

  • 紫菜包饭的海苔自制(自制海苔拌饭料)

    下面希望有你要的答案,我们一起来看看吧!紫菜包饭的海苔自制

  • 蒙面唱将包容歌曲第几期(原来在这里)

    蒙面唱将包容歌曲第几期顽皮绅士,蒙面唱将猜猜猜171015期,就是有薛之谦的那一期,有顽皮绅士。《包容》收录在2010发行的同名专辑《包容》当中。2016年1月该曲获得2015繁星年度盛典“十大金曲”奖。《包容》是发自内心的肺腑之言,只有懂得用心唱,才能演绎出感人的情歌,这也是郑源2010年创作《包容》的原因。

  • 杏仁蛋糕卷的做法 杏仁蛋糕卷的做法视频

    13、卷起包好放冰箱冷藏,定型后取出切件食用。

  • 泥鳅怎么杀和洗(怎么杀和洗泥鳅)

    接下来我们就一起去研究一下吧!泥鳅怎么杀和洗将泥鳅放进盆里,撒上几勺盐,然后静置半个小时可将盆里的泥鳅洗去它们吐出的泥沙以及粘液。清洗完之后可开始杀泥鳅,用剪刀将泥鳅的鳍部剪开,接着再往肚子处剪开2厘米左右的长度,将里边的内脏以及黑胆抠出,最后用清水将里边的血液洗干净即可。

  • windows系统使用技巧(系统小技巧用好Windows)

    我们可以利用该工具提供的基本功能,实现阻止恶意软件运行、助力命令行记忆、清理多系统启动菜单项、管理自启动项等实用任务。首先,通过Cortana搜索并启动“系统配置”工具。在解决一些软件冲突时,需要排除所有自启动程序的影响。如果要单独控制某些启动项,可通过“启动”选项卡,直接进入启动列表进行控制操作。

  • 女友工作压力大,女朋友因为工作的事情很烦怎么办

    我和女友是异地,快一年了,不过偶尔会见下面。不否定女友的情绪,不急于说道理,否则女友会更烦躁。可能本心是让女友冷静下来,可这对女生来说不管用。让女友诉说烦恼,或者去运动一下暂时切断下心情。可以让女友倾诉,并不时回应一下。等到女友情绪平复后,帮助其解决工作上的问题,给予鼓励与支持。安慰女友时,一定是先处理她的情绪,再跟她讲道理。

  • 围城第三章(围城第一章)

    围城第三章前两天,娱乐圈里又有知名的明星宣布离婚,从结婚到离婚不过短短三年不到。今天,我们就一起走进《围城》的第一章内容。方鸿渐,拿着父亲及岳父赞助的钱出国留学。方鸿渐看到男女同学间谈情说爱,心生向往,好是眼红。或是上天过于垂帘方鸿渐,未婚妻竟病死了。不要急于一时,而误了子女终身。这些林林总总都有力地体现了当时的中国现象。

  • 和田玉做什么样式镯子(马来玉手链手镯)

    马来玉手链、手镯,是不是可以乱真和田玉或者翡翠?如今,马来玉被业界称为“山寨版”翡翠,其市场局限在很狭小的范围内,有时候干脆沦为不法商贩骗人的道具,路边摊上的“古董、玉器”中,就时常能够寻觅到它们的身影。其实,要判定究竟是不是马来玉并不难,除了在放大镜下观察结构、颜色总显得不那么自然之外,测密度更是相当准确的判别方法之一。都能做得乱真高档翡翠,但实际上就是一种高筋玻璃。