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

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. 感谢大家的支持!
    推荐阅读
  • 代码的类型不包括(代码的类型不包括数字型代码)

    代码就是程序员用开发工具所支持的语言写出来的源文件,是一组由字符、符号或信号码元以离散形式表示信息的明确的规则体系。代码设计的原则包括唯一确定性、标准化和通用性、可扩充性与稳定性、便于识别与记忆、力求短小与格式统一以及容易修改等。源代码是代码的分支,某种意义上来说,源代码相当于代码。计算机源代码最终目的是将人类可读文本翻译成为计算机可执行的二进制指令,这种过程叫编译,它由通过编译器完成。

  • 什么样的标线容易扣分(开车容易扣分的几个标线)

    也存在专设的虚线停车位,这些车位一般是给出租车临时上下乘客的,但临时停车的时间不能超过五分钟。该位置的向直行道绿灯亮时,位于该位置左转弯车道的车辆应当前行到左转弯待转区等待绿灯。不过应该注意的是,在红灯时驶进左转弯待转区也被认定是闯红灯。

  • 生的组词(汉字生的组词)

    下面希望有你要的答案,我们一起来看看吧!生的组词出生[chūshēng](动)胎儿从母体中分离出来:出生率|他出生在一个偏僻的山村。天生[tiānshēng](形)自然生成的:天生丽质。生人[shēngrén]指人出生。怕生[pàshēng](小孩儿)怕见生人。生父[shēngfù]亲生的父亲。相对于养父、继父而言。生长[shēngzhǎng]在一定的生活条件下生物体体积和重量逐渐增加、由小到大的过程。卫生间[wèishēngjiān]卫生设备所在的房间。

  • 新生儿什么时候吃鱼肝油(新生儿什么时候吃鱼肝油的功效与作用)

    在日常生活中,很多人特别重视宝宝鱼肝油的补充。被人们称为药用型的鱼肝油,严格说来是维生素ad滴剂,剂量较高,不适合长期服用;而膳食补充型的鱼肝油,剂量适当,补充宝宝日常所需,适合长期服用。

  • pep三年级英语下册第五单元知识点(PEP三年级英语下册U5知识点汇总)

    No,Idon't./YesIdo.不,我不喜欢/是的,我喜欢3.Sorry,Idon'tlikegrapes.抱歉,我不喜欢葡萄.4.Meneither.我也不喜欢5.Havesomegrapes.吃一些葡萄吧6.CanIhavesomebananas?--Yes,Ido.是的,我喜欢。句型2:表示某人喜欢或不喜欢某物Ilike某物.例句:Ilikebananas.我喜欢香蕉Idon'tlikegrapes.我不喜欢葡萄五、本单元能力目标,详见下图嘉兴君政教育科技有限公司制作

  • 麻糍的做法大全(麻糍怎么做才好吃)

    麻糍的做法大全做法一:准备用料。泡了一夜的糯米;蒸好的糯米饭;炒香的黑芝麻用擀面杖碾碎,加入白糖混合;蒸熟的糯米,用擀面棍揣打,目的是要把糯米揣烂揣黏;全部裹上芝麻糖即可享用。水250克、糯米粉130g、细砂糖40克、黄豆粉适量、植物油20克、玉米淀粉30克。将120g糯米粉、30g玉米淀粉、30g糖粉、80g水倒入容器中调成无颗粒糊状;封上保鲜膜上锅蒸30分钟,糯米糊成透明状为熟透,拌入黄油,搅拌均匀。

  • dpi和回报率怎么设置(别老把我和DPI混淆)

    当有人问‘DPI和回报率分别是什么’的时候千万别说‘没分别’Because‘回报率君’会选择狗带当当当~小编又要开始搬运Ajazz小知识了“回报率恩德DPI究竟是什么嫩?”

  • 中年女性微信(用微信的中年人)

    最近小编一如往常地打开QQ空间查看好友动态,结果发现了一条疑似黑彩的广告。因为疑似QQ已被盗号,于是赶紧通过微信联系提醒其查看QQ空间信息。而且不同于QQ默认的账号密码登录机制,正常情况下微信只能在两台设备上在线:一部手机,一台PC/Pad,而且后者需手机端授权登录,相对而言安全性和私密性更高。QQ空间刚推出的时候,QQ用户大多正处在一个中二的年纪,回头看难免有些不堪回首的黑历史。

  • 容易错的50个成语(100个必须掌握的成语)

    柑橘的价格虽然很高,买的人却不少。有一次,明朝大臣刘基买了他一个柑橘,剥开皮却臭气冲天,再看里面的果瓤,早就干得像破棉絮了。刘基气愤地责问道:“你为什么弄虚作假欺骗顾客?”刘基听了这番话,哑口无言。回到家里后,他就写了《卖柑者言》这篇文章,其中就有“金玉其外,败絮其中”一句。

  • 武汉东西湖区中考升学率是多少(武汉东湖中学升学率)

    武汉东西湖区中考升学率数据2020年全市有7.29万初中毕业生,普通高中招生计划约4.12万人,各类中等职业学校招生计划约2.98万人,“3+2”、五年一贯制学校计划由省教育厅单独下达。确保全市高中阶段教育毛入学率达到99%以上,初中毕业生升学率中心城区达到99.5%、新城区达到95.5%以上。各区普通高中计划不得突破本区预定升学目标的58%,各类中等职业学校计划不得低于42%。严禁新城区公办普通高中招收中心城区考生。