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

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. 感谢大家的支持!
    推荐阅读
  • 女性经期不能吃什么 女性经期不能吃什么药

    而这些食物就会影响身体对镁的吸收,引起痛经。酒酒会消耗身体内维生素B与矿物质,过多酒会破坏碳水化合物新陈代谢及产生过多动情激素。高脂食品牛、猪与羊肉是高脂食品,食用过多会大量消耗体内矿物质。高钠食物高钠食物会使乳房胀痛造成水肿与乳房胀痛。月经期间忌吃田螺等寒性之物。螃蟹螃蟹性大凉,能清热凉血散瘀,女子行经期间,忌食生冷寒凉之物,尤其是患有寒性痛经之人,更当忌吃。

  • 仙人球发根的技巧(仙人球发根的窍门介绍)

    下面希望有你要的答案,我们一起来看看吧!仙人球发根的技巧放在种植用途表面发根法:时间:选择4月至10月。

  • 物联卡不注销会怎么样 物联网卡不注销有什么影响

    物联卡不注销会影响信誉,需要前往归属地的各营业网点,凭当时办理的身份证和交费凭证进行解除或注销。根据政策,只由购买企业进行实名认证,不提供给手机设备的使用。物联卡,是运营商为物流网服务企业提供的用于智能终端设备联网的,仅面对企业用户进行批量销售,广泛用于共享单车、移动支付、智能城市、自动售卖机等领域,不面向个人用户。由于物联卡与普通手机SIM卡十分相似,市场上出现了真假难辨的“流量卡”。

  • 曲阳美食推荐排行榜(曲周十大特色美食)

    2014年,曲周大糖制作技艺入选邯郸市第四批市级非物质文化遗产名录项目。

  • 战狼二电影周星驰片段(战狼2获得巨大成功)

    对于《战狼2》的巨大成功,不由得使人想起周星驰曾经在央视采访上的话语。周星驰说,每一个导演都应该有它的个人风格。得到央视长达两分钟点赞的《战狼2》,势头仍留很猛,昨日已取代周星驰《美人鱼》,创造新的票房神话。而星爷周星驰的助理也在第一时间,通过海报致敬的方式,这也被媒体认为是间接的表达了星爷对吴京《战狼2》的祝福。

  • 读了悯农知道什么道理 悯农懂得了什么道理

    所以诗人最后用反问语气道出“谁知盘中餐,粒粒皆辛苦”的道理就很有说服力。

  • 生鱼片孕妇可以吃吗 孕妇不能吃生鱼片吗

    孕妇不宜吃生鱼片一般情况下,普通人群都可以吃生鱼片,但是对于孕妇来说是一个特殊的生理时期,孕妇的胎儿容易受到外界因素的影响,所以说,孕妇不宜吃生鱼片。孕妇吃生鱼片的严重后果如果孕妇经常是生鱼片,则可能感染寄生虫,这些寄生虫可以从准妈妈的腹部移至肚脐和子宫周围,或右上腹部。

  • 栀子花的香味有毒吗(栀子花的香味有毒吗知乎)

    栀子花的香味对人无害。栀子花除观赏外,其花、果实、叶和根可入药。有清热利尿、凉血解毒、目红肿痛、降血压等功效。花谢后最好将花朵剪去,或是先行剪去配戴,这样会更快开下一朵花。)2、浇水过份,招致土壤常常湿湿的。所以虽然要坚持土壤湿润,但不能过份浇水。假如是室内种,光照一定不够,最好是加人工光照。

  • 上下胸围怎么确定罩杯大小(胸围怎么测量罩杯)

    跟着小编一起来看一看吧!上下胸围怎么确定罩杯大小胸围怎么测量罩杯

  • 含蓄又深意的情侣网名 比较含蓄的情侣网名

    1、路灯下牵手黄昏下厮守2、南巷清风北街浊酒3、知我趣明我意4、说忘是谎.说爱是真.5、南巷近海北巷远人6、说书客言诗人7、纵情知己多情废柴8、掀纱窥君容折扇戏美人9、只想日日夜夜与你两情相悦10、捂热我深拥你11、薄暮流云拂晓浅霞12、晚月清秋13、扶风一身又满像梦一碰又散14、祈心姒音迟绾画心15、青青子衿悠悠我心16、长夜漫漫情思长长