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

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

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

过滤型操作符本节介绍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. 感谢大家的支持!
    推荐阅读
  • 青团会发胖吗(青团会长胖吗)

    综上所述可以知道,青团的的热量是比较高的,对于减肥中的人群来说,不宜食用过量,要是食用过量人体不能及时将其吸收代谢时,那么是有可能会导致人体发胖的。青团一天吃多少合适正常情况下一天吃1-3个左右即可。但要是自身消化功能不是很好,那么就不宜食用过量的青团,一天吃1-2个就可以了,避免食用过量对自身的健康造成威胁。

  • 最高检绑架罪的司法解释具体是什么主要规定

    1.最高人民法院《关于对拐卖、绑架妇女(幼女)过程中又奸淫被害人的行为应当如何定罪问题的批复》1994年4月8日法复[1994]6号2.最高人民法院《关于对在绑架过程中以暴力、胁迫等手段当场劫取被害人财物的行为如何适用法律问题的答复》2001年11月8日法函[2001]68号3.公安部《关于打击拐卖妇女儿童犯罪适用法律和政策有关问题的意见》2000年3月24日公通字[2000]25号

  • 免息贷款买车都有哪些附加条件(买车贷款免息需要什么条件)

    但是我们需要注意的是,免息活动往往也是不与其他的优惠活动同时进行。消费者冲着贷款优惠的目的购车,“免息”貌似给消费者带来巨大的福利与吸引力,但是,有些商家却偏偏在这段期间推行数万减免等更大的优惠政策,对于消费者来说无疑是捡了芝麻丢了西瓜的损失,而且消费者自身还往往不知道。所以说2年免息贷款买车划算不划算还需要消费者自己衡量一下。

  • 宋朝李纲的故事(南宋贬琼时间最短宰相李纲)

    位于海南万宁境内的东山岭,闻名遐迩,岭之风景人文吸客无数;岭之中,立有李纲的石像与祭祀庙宇,为东山岭增添了浓郁的人文景观,被誉为“海南第一山”。11月25日南渡,在海口登陆,居住海口府城的华远馆,3天后接到遇赦诏令。在琼逗留10日,并未到万安军,期间在海口游走了龙岐坡的两伏波祠,府城的天宁寺,并留下了诗文。召回后任荆湖安抚大使,后为观文殿学士;55岁卒,赠少师,谥忠定。李纲成为海口五公祠奉祀的五公之一。

  • 节能炊具面板材料(厨具 炊具)

    节能炊具面板材料1.不锈钢节能炊具优点:大方时尚,经久耐用,与橱柜兼容性好。不要用钢球清洗。缺点:有3%的自爆率,边角被撞、含杂质或突然淬火加热时容易自爆。

  • 残城碎梦什么意思(残城碎梦意思是什么)

    残城碎梦什么意思残城碎梦的意思:在一座残破的城里梦支离破碎。有一部网络小说的名字就是残城碎梦。《残城碎梦》是连载于纵横中文网的一部评论文集类网络小说,作者是司白樱泠。《残城碎梦》内容简介在一座残破的城里我的梦碎了一地;没有人会疼爱我,我是个没人爱的孩子;对这个世界充满希望是举步维艰的,对这个世界充满绝望是轻而易举的,可是,绝望之后呢?我就像深海中的鱼族,若不自然,便只有漆黑一片。

  • 米洗了没煮怎么保存(储存大米的方法)

    一年之中,根据不同的季节,可适时调整家中大米的存量。一般情况下,夏季天气温度较高,空气湿度较大,大米极易受潮发霉,储存难度较大,理应少存,最好随买随吃。而秋冬季节,温度较低,气候干燥,大米不易受环境影响其食用品质,可以适量多存。无论是超市、菜场还是家庭,在夏天对大米的保存都应该注意防潮、隔热,尽可能存放在阴凉、干燥、易通风的地方。

  • 士兵突击剧情介绍(讲的是什么故事)

    士兵突击剧情介绍木讷的许三多(王宝强)没进军营,就因看见坦克时“举手投降”招来以“不抛弃、不放弃”精神闻名全团的“钢七连”连长高城(张国强)的反感,入营后,班长史今(张译)成为他的依靠,副班长也是老乡的伍六一(邢家栋)却因他的笨拙将其视为肉中刺。新兵训练结束后,许三多被分到偏远艰苦的后勤管道维护班五班,一同来部队的老乡成才(陈思成)则去了钢七连。

  • 年底ppt总结模板创意(创意时尚月度工作计划暨工作总结PPT模板)

    年底ppt总结模板创意?年底ppt总结模板创意日常PPT分享系列——月度工作总结二月快要过去了,需要做月度总结的职场白领们注意啦~你还在为制作模板而发愁吗,那么就可以来看看这款模板,时尚大气,很适合职场办公使用哦!

  • 水仙花的繁殖方式有哪几种(水仙花的繁殖方式有什么)

    水仙花的繁殖方式有哪几种侧球繁殖:在水仙花鳞茎两侧的旁边会长出小球,这就是侧球。一般在秋季可能会自行脱离球体。侧球分离出来后,就可以准备配制好盆土,然后将侧球移栽种植进去,后期做好养护管理。双鳞片繁殖:这个繁殖方法对时间没有太大限定,最好选在4-9月份进行。这个繁殖方法要复杂一些,需要先将鳞茎放在4-10摄氏度的环境中保存4-8小时左右,切除下鳞片的上端。