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

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. 感谢大家的支持!
    推荐阅读
  • 梦见有孩子了什么预兆(梦见有孩子了好不好)

    另一方面则可能预示你将遭遇危机。梦见小孩生病,或者叫疼,预示可能会因为他人的陷害,诽谤遭受损失,经历坎坷,忍受一段艰辛的生活。当了妈妈的女人,梦见自己的孩子,则表示对孩子的疼爱,关心。梦见小孩被大火烧死,自己却无能为力,预示你将遇到严重的麻烦,可能有失去一切的危机,甚至重伤或失去性命。梦见讨人喜欢的小孩进入家门,表示将有钱财上的巨大收获,或者有喜得儿女的事情发生。

  • 一键转换数字格式(在线数字工具文本)

    本期给大家介绍的是上期说到的即时工具的数字工具类目详细介绍,希望对你有所帮助,整理不易,希望大家多多支持!全是干货,无需下载,直接使用,赶紧收藏这个类目转换比较简单,只需要在找到自己需要转换的进制工具,然后在对应的选框内输入或者粘贴,点击一键处理即可!

  • 世界有几个国家能制造光刻机(为何全球顶尖的光刻机几乎都来自荷兰)

    光刻机的技术门槛极高,堪称人类智慧集大成的产物。而本次“光刻机双工件台系统样机研发”项目则是在技术上突破ASML对双工件台系统的技术垄断。因为背后有美国的力量,所以ASML一直以来都禁止向中国出口高端光刻机,直到2018年这一情况才有所转机,2018年ASML同意向中国出口两台7纳米的高端光刻机,预计2019年交货。准确抓住了技术转折点目前世界最顶尖的光刻机有三个厂家,分别是ASML,尼康和佳能。

  • 最新中印外交部消息(苏桑特辛格周波)

    周波:王毅国务委员兼外长访问南亚的直接原因是参加在伊斯兰堡举行的伊斯兰合作组织外长理事会第48次会议。中国是世界上第二大经济体,而印度是世界上第六大经济体。克什米尔问题由来已久,这并不是印度和巴基斯坦之间的新问题,实际上中国在这方面的立场是尽量保持公正。包围印度确实不符合中国的利益。而印度(核试验)的借口是,中国是印度头号潜在威胁。

  • 泽塔奥特曼最尴尬的退场(圆谷承认了哈奴曼)

    圆谷的继任者认为之前新波特获得的所为版权,其实都是胡说八道,所以他们不承认千禧奥特曼。不过后来圆谷确实得到了法律的认可,对方不得不删掉这部剧。除了千禧奥特曼之外,还有一个国产奥特曼圆谷也不承认,他就是蓝弧奥特曼。这个奥特曼先后登场于《钢铁飞龙之再见奥特曼》和《钢铁飞龙之奥特曼归来》,虽然圆谷表示反对,网友中很多人也不承认,但是人家的票房依然很不错。

  • 最终幻想题材的游戏(盘点游戏史上最好玩的三款像素游戏)

    盘点游戏史上最好玩的三款像素游戏你喜欢像素游戏吗?​​在游戏史上,像素游戏一直占据重要的地位,从最开始的俄罗斯方块,到现在的《最终幻想:勇气启示录》,一直都在坚持一个原则:内容至上喜欢像素游戏的朋友,毫无疑问都是追求最有价值的游戏内。

  • 光盘行动感悟(这两篇个人心得体会写得很深刻)

    小编和大家共同约束:反对浪费,从我做起,光盘行动,大家行动起来!其实“光盘行动”就在我们身边,如果你看、寻找就能发现!现在网上、电视上、餐厅里、街上到处都告诉我们要光盘行动。这个寒假我们家也采取了光盘行动。现在到处都在进行‘光盘行动’,鼓励大家不要浪费一粒米。我支持光盘行动。

  • 日本民调菅义伟内阁支持率降至35(一夜之间改变想法)

    当天上午,自民党举行临时高层会议,但仅持续了10分钟就结束了。据报道,菅义伟2日对二阶俊博说,他将在6日进行自民党高层人事调整。这被认为是提振菅义伟支持率、改善自民党形象的关键举措。在野党对菅义伟放弃参选进行了猛烈批评。当地时间9月3日,日本首相菅义伟当天在自民党临时议员会上表示,不参加本次自民党总裁选举。目前已经正式宣布参选的是日本前外交大臣岸田文雄。

  • 皮衣尽量不要用洗衣机洗(皮衣可以洗衣机洗吗)

    皮衣尽量不要用洗衣机洗可以,但容易受损。因为皮衣是防水的,根据洗衣机的清洗原理,皮衣在洗衣机内旋转时,可能会清洗不均,造成部分没能清洗干净。如果无法完全擦拭干净,请交予专门店处理。皮衣是采用动物皮,如牛皮、羊皮、蛇皮、鱼皮等动物皮,经过特定工艺加工做成的衣服。因皮衣面料的特殊性,皮衣要小心护理,清洁时不能草草了事,不可用水洗,更不能用洗衣机清洗。

  • 怎么炖鲤鱼(家常炖鲤鱼怎么做)

    下面更多详细答案一起来看看吧!怎么炖鲤鱼准备25毫升花生油、1500毫升清水、5克盐、5克姜、10克红枣、20克黑豆、500克鲤鱼。把黑豆洗净,并沥干水分备用。锅中倒油加至7成热,放入鲤鱼煎至金黄捞出。将煎过的鲤鱼放入汤锅中,加开水、黑豆、红枣、姜片。大火煮沸后,盖上盖子,转小火煲1小时。食用前放入盐调味即可。