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

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. 感谢大家的支持!
    推荐阅读
  • 防火小口诀(防火小口诀有哪些)

    接下来我们就一起去了解一下吧!防火小口诀119电话要记清,及时准确报火警。安全使用液化气,经常检查多警惕。液化气残液不乱倒,统一回收最可靠。燃气泄漏不要慌,快关阀门速开窗。危险物品易爆燃,家中存放不安全。装修材料要慎选,刷漆远离着火源。

  • u盘容量变小怎么办(U盘格式化后容量变小了怎么恢复)

    我们一起去了解并探讨一下这个问题吧!u盘容量变小怎么办在开始菜单-运行,然后输入cmd后回车,这就进入dos窗口了,然后输入diskpart,这样就进入了磁盘管理命令模式。

  • 后梁梁瑞霞(梁瑞霞摸爬叉)

    转眼之间又到一年的爬叉季。古人以为蝉是靠餐风饮露为生的,把蝉视为高洁的象征,并咏之颂之。居高声自远,非是籍秋风。全诗托物比兴,以蝉高洁傲世的品格自况,韵味含蓄深长。在古人的眼中,蝉是一种神圣的灵物,有着很高的地位,代表着纯洁、清高、通灵。人家文人墨客眼中的蝉,我们百姓眼中的蝉其实都是一样的,甚是喜爱!记忆最深的是燎蝉,我们家的前面是一个大坑,坑的周边是一些大柳树,每到夏天,蝉们就吱吱吱地尽情歌唱。

  • 最近辛巴团队为啥不直播了(辛巴遭官方限流)

    最近快手官方的政策让主播接连叫惨,就连辛巴每次开播都要专场一边官方,最近几天由于辛巴给官方开专场太厉害了,直接让官方来了一个无限期停播状态,而某平台发现了商机发文邀请辛巴,应该不会走吧?因为辛巴有合同在身,走了可是赔不起呀!图片昨晚蛋蛋在拿下二驴的榜之后没有介绍得很好,状态稍显不佳,辛巴过去连麦“教育”蛋蛋,应该怎么介绍自己,几点直播说清楚,说话有点墨迹,送东西有点多,还说赵梦澈脑子不动。

  • 大年初五扫五穷怎么扫(如何进行扫五穷)

    大年初五扫五穷怎么扫?以下内容希望对你有帮助!大年初五扫五穷怎么扫“扫五穷”队伍先扫村再扫其余的顺序,初五一大清早,在土地爷的带领下进行走街串巷、进村入户,先由把门将手举铁鞭钢锏在大门两边守门护卫,同时,负责降魔除妖送福的诸神将纷纷跑进门里,各自挥舞手里的神器,做清扫祛邪动作。锣鼓队则望风而动、紧随其后,敲起震天声响的锣鼓进行压阵。

  • 关于健步走的主题(健步走活动开始啦)

    按照四川省总工会下发的《关于组织参加2021年“承载梦想走向健康”全国职工健步走网络公开赛的通知》要求,结合省女子强戒所《庆祝中国共产党成立100周年系列活动实施方案》,省女所于6月2日、6月4日两天组织全体民辅警职工开展“女所心向党·走向新征程”迎接建党100周年主题徒步活动。

  • 创新服务理念提升服务效能(重塑服务形象提升服务水平)

    金溪石油积极响应“服务提升年”号召,从改善加油站环境、演练服务技能做起,夯实服务工作基础,重塑服务形象。金溪六站由于下水道堵塞,日渐外溢的污水极大影响了站容站貌。公司在与城市环卫所的协调下,请来了专业的疏通队,对金溪六站的排水沟和化粪池进行了疏通,洁净有序的消费环境让顾客有种宾至如归的感觉。

  • 头发干燥解决技巧(快速修复干枯头发的方法分享)

    头发干燥解决技巧减少洗发的频率。慎重选择洗发水。慎选洗发水,洗发水是经常要用的,且直接和头发相接触,尽量选品质较好的。洗头时避免水温过高,温度过高会使水分流失,且促进头皮出油,恶性循环。洗完后用护发素把发丝按摩五分钟,最后用温水洗净。头发不宜多烫多染,一头顺滑水润的长黑发并不比烫染后的发型逊色,手感也是天壤之别的。

  • 太子马子隆结局是什么 太子马子隆结局是什么

    皇帝病危朝局动荡,太子马子隆,傻人有傻福,成功捡漏,意外登基,不过登基不久,意外坠马身亡。至此,王儇结束天真烂漫、诸事顺遂的少女生涯,深知士族女子不仅婚嫁不由自己,命运也与朝堂斗争息息相关。外戚与皇族之争如火如荼、朝堂纷争愈演愈烈,王儇与萧綦携手,破夺嫡之争、除皇宫内乱、解亲信之变,在一次次危难中,二人情深伉俪、生死相伴。

  • 美队盾牌是最坚硬的(美队的三代盾牌)

    可怜的罗杰斯被那个大块头堵到一个巷子里,也正是在这里罗杰斯找到了他的第一代盾牌——一个桶盖。因为第三代盾牌已经不是罗杰斯的,而是真正的美国队长的盾牌了。