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

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. 感谢大家的支持!
    推荐阅读
  • 倒车看点方法技巧(倒车入库技巧如何看点)

    我们一起去了解并探讨一下这个问题吧!倒车看点方法技巧车身要和虚线保持30公分左右,这样有利于车倒进库。调整好座位,系好安全带,挂倒档,车子就一直往后退,观察右后视镜,看到入库黄色线的左前角消失了以后,把方向盘向右打死。观察右视镜,看到右后轮进入库之后向左打死方向盘,观察左后视镜,当看到车库后面的左角是就回正方向盘,将车身和竖线平行。观察左视镜,当左视镜压在边线上时就停车。

  • 霜降节气寓意(霜降节气寓意是什么)

    霜降节气寓意霜降是二十四节气中秋季的最后一个节气,含有天气渐冷、初霜出现的意思,也意味着冬天的开始。膝关节在遇到寒冷刺激时,血管收缩,血液循环变差,会导致疼痛,故在天冷时应注意保暖,必要时戴上护膝。秋末时节,也是呼吸道疾病的高发期,宜多吃具有生津、润肺、止咳作用的食物,如梨、苹果、白果、洋葱、芥菜、萝卜等。另外搓揉鼻翼两侧的迎香穴,有助于我们预防呼吸道疾病。

  • 香菜煮水禁忌 香菜煮水的禁忌

    香菜煮水的禁忌是:1、经常感冒的人不宜食用。香菜含有很多的营养成分,它的价值是很高的,比如,它含有蛋白质和维生素,矿物质和脂肪,除此之外,还有胡萝卜素。最后,就单单它的维生素c和其它的同类相比较,都不甘示弱,普通人每天只需要吃7到9克就完成了身体对维生素c的所需。

  • 热鱼的做法(怎样做热鱼)

    跟着小编一起来看一看吧!热鱼的做法鱼1块,大蒜2根,红辣椒5个,调料植物油10g,盐3g,生抽1勺。青鱼剖好切块,不要洗,打花刀放盐腌渍5-6天,每天翻拌。洗干净的鱼块用厨房用纸吸干水分。热锅滚油放姜片、少许盐,放入鱼块大火炸。翻面炸出来金黄色。大火煮至汤汁成牛奶色放入红辣椒、大蒜末。发盐、生抽、老抽调味,加入大蒜叶,收汁即可出锅。

  • 暖胃汤饭如何做(暖胃汤饭可以做什么吃)

    以下内容希望对你有帮助!暖胃汤饭如何做鸭蛋皮蛋剥皮备用,粉丝提前泡发,葱切末,姜切丝,蒜整瓣,鸭蛋皮蛋和火腿切丁。虾米洗净沥干备用,热锅放油,油温六七成时放入姜丝和大蒜,煸出香味。加入开水,放入粉丝和白菜,继续煮。水开后放入一勺盐和一勺白胡椒粉。出锅装盘,撒一点葱花点缀即可。

  • 家里有什么花好养又旺财(家养4种花)

    杜鹃花花色艳丽,姿态优美,非常喜庆,有“花中西施”的美称。金鱼草花色彩艳丽,观赏性极高,有种赏心悦目的心情。金鱼草花看上去热闹喜庆,五颜六色,绚丽多彩,栽种在家里能很好地美化居家环境,让人心情愉悦。

  • 纹唇真的有反色期吗(科普纹唇知识分享)

    纹唇原来真的有微调效果,纹唇已经不是妈妈辈的专利,现在做出的效果越来越年轻化可以有不同的选择,具体根据每个人需求和特征。1纹唇后期会很红吗?纹唇的好处是可以改善嘴唇的颜色,让嘴唇看起来更加美丽,整个面部看起来气色会更好。

  • 2022苏州市成人预防接种门诊单位公示汇总

    苏州市成人预防接种门诊公示苏州市成人预防接种单位,服务已满16周岁人群。目前共有184家,其中姑苏区15家、吴中区16家、相城区13家、高新区9家、工业园区18家、吴江区22家、常熟市37家、张家港市21家、昆山市20家、太仓市14家。苏州市立医院北区成人门诊只在中考体检时面向姑苏区初三学生提供麻风/麻腮风疫苗的免费接种,不接种其他疫苗。公示更新日期为2021年09月30日友情提示:门诊信息如有更新,请以门诊实际公示信息为准

  • 小高考是什么意思(小高考的意思)

    我们一起去了解并探讨一下这个问题吧!小高考是什么意思小高考特指普通高中学业水平考试,也就是人们所说的会考,考试对象为普通高中高二年级的学生,考试成绩将作为高校招生录取的依据之一。很多大学也对小高考成绩有所要求,因此从2011年起,一些高校的自主招生考试也被称为小高考。

  • 野葡萄藤的功效与作用(野葡萄藤的功效与作用治什么病)

    野葡萄藤的简介野葡萄藤为双子叶植物药葡萄科植物,主要分布在中国大部分地区,可入药。功效与作用1、治疗风湿:野葡萄藤甘、平。有效治疗风湿,麻疹等现象。此药无毒,在组织内能被吸收。主要治疗痢疾,疮疡肿毒等疾病。