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

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. 感谢大家的支持!
    推荐阅读
  • 公园的健身器材都有什么(这些公园里的健身器材你都见过)

    跟着小编一起来看一看吧!公园的健身器材都有什么

  • 起什么网名好听(好听的网名有哪些)

    别说话吻我段情,下面我们就来说一说关于起什么网名好听?我们一起去了解并探讨一下这个问题吧!只为等妳上线︿。幸福是一种心态。身未动ヽ心已远。我爱你,口头禅而已。扯不断dē回忆べ。来一瓶82年的敌敌畏。陌上花开√醉流年。

  • 张国荣陈百强风再起时(张国荣VS陈百强我愿意)

    上次的《蜚蜚》,原唱陈僖仪几年前因车祸去世。风华正茂、前途无量的女歌手,只留下了一首首令人难忘的经典。贰.率先出现“张国荣”这个名字的,那是某乐队翻唱的《梦里蓝天》。直至,林晓峰翻唱《今生今世》。这前半生惨不忍睹,后半生亦是可见的满目疮痍。同一期,有哥哥(张国荣)和丹尼(陈百强);同一期,有《今生今世》和《深爱着你》。如今,两人都不在了。如有侵犯您的原创版权请告知,我将尽快删除相关内容。

  • 却顾所来径苍苍横翠微意思(但顾所来径,苍苍横翠微)

    相携及田家,童稚开荆扉。月尚如此,人则可知。《下终南山过斛斯山人宿置酒》创作背景关于此诗的创作时间,有两种说法。是屈原之后最具个性特色、最伟大的浪漫主义诗人。有“诗仙”之美誉,与杜甫并称“李杜”。其诗以抒情为主,表现出蔑视权贵的傲岸精神,对人民疾苦表示同情,又善于描绘自然景色,表达对祖国山河的热爱。存世诗文千余篇,有《李太白集》30卷。

  • 怎么吃芒果最容易 怎么吃芒果最容易上火

    另一边也是,刀尽量紧挨着芒果核。全部切完后,芒果会分成两片厚芒果肉,一片芒果核。在芒果肉上横向划几刀,注意力度不要太大,以不划破果皮为好。用手指在芒果皮中间轻轻往上一顶,即成“芒果花”。此时,果肉成小块排列,可直接吃了,非常方便。芒果有“热带水果之王”的美称,营养价值高,有益于视力,能润泽皮肤,是生活中常见的水果。

  • 收藏貔貅翡翠(翡翠的前世今生)

    貔貅,与麒麟、龙都是存在于传说中的神兽。貔貅,又称辟邪、天禄、百解,龙头、马身、麟脚,形似狮子,毛色灰白,会飞。貔貅因此就被视为招财进宝的祥兽了。人们佩戴貔貅的玉制品正因此典故。后来貔貅又名“天禄”,即天赐福禄之意。翡翠貔貅具有招财纳瑞的寓意,深受广大翠友的喜爱。

  • 金针菇炒什么好吃(金针菇好吃做法)

    下面希望有你要的答案,我们一起来看看吧!金针菇炒什么好吃食材:金针菇300克、青红椒各半个、大蒜香葱各适量、生粉蚝油酱油白糖各适量把金针菇的根部切掉,因为根部已经老化,而且很多泥沙。再清洗干净控水备用。锅烧七成热放少量花生油,爆出香味。接着把控干水的金针菇放下去准备爆炒。火要大,炒起来很快软了,而且炒出了水分。把香葱放进去,加点点鸡精,拌均匀就关火。

  • 漠河在哪个省 漠河在哪个省的哪个市

    漠河在黑龙江省,地处黑龙江省北部,西与内蒙古自治区呼伦贝尔市额尔古纳市为邻,南与内蒙古自治区根河市和呼中区交界,东与塔河县接壤,北隔黑龙江与俄罗斯外贝加尔边疆区和阿穆尔州相望,是中国最北端的县级行政区。

  • 西宁公交乘车ic卡如何缴费(西宁市公交IC卡充值点增至35个)

    西宁公交乘车ic卡如何缴费青海新闻网·大美青海客户端讯8月8日,随着西宁市城北区大堡子夏都通自助机投入使用,截至目前,西宁市公交卡充值点由原来的21个点增加至35个点,市民可就近选择充值。夏都通自助机分布点1.南山东路自助机。若有来源标注错误或侵犯了您的合法权益,请作者持权属证明与青海普法联系,我们将及时更正、删除,谢谢。

  • 《君九龄》九龄遇上的砍柴人是谁

    九龄是一国的公主在大婚当日得知自己的父皇被奸臣所害,九龄在得知这个消息的时候拿起了手中的剑,想要为父亲报仇。九龄的好朋友为了报答九龄甘愿为九龄赴死,于是让九龄换上了自己的脸。朱瓒在得知九龄被害之后想要去九龄的墓前和九龄说说话,并且早就准备好了漂亮的花束想要为九龄献花。朱瓒在第二集的时候就已经出场了,并且在后面的剧情当中认出了九龄的真实身份。