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

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. 感谢大家的支持!
    推荐阅读
  • 萨顶顶个人资料简介

    2007年全新的萨顶顶凭借民族特色服装及具藏传佛教色彩音乐风格的《万物生》再次走红。2008年获得BBC世界音乐大奖等多项国际奖项,并且是中国首位被格莱美邀请的歌手。2012年萨顶顶成立首个艺人专属俱乐部顶顶音乐艺术俱乐部。2014年5月14日萨顶顶推出最新专辑《Wonderland幻境》。

  • 建筑工程包工报价表格(建筑工程包工价格)

    中国这么大,价格不一,有误差,仅供参考。以上没有算精装修,一般造价约为1000~2000元/平方米,高档小区可达3500元以上。以上没有包括部分国有企业开发造成的腐败成本。能让利的主要是:小区的档次、向政府交纳的土地费及地方政府部分的税费、广告策划销售环节的费用、装修费用等。不论何种原因,同品质的小区成本上下也不会超过100~200元/平方米。

  • 中草药养猪最佳配方 中草药养猪最佳配方书籍

    中草药养猪最佳配方最佳答案:用山楂5000g、麦芽5000g、神曲5000g、白术3000g、党参3000g、茯苓2000g、白豆蔻500g、陈皮3000g、枳实1500g、槟榔1000g磨成粉,添加1%到2%到饲料中,可以起到健胃消食的作用。

  • 齐齐哈尔南站可以进站吗(齐齐哈尔南站温馨服务旅客)

    汪广福决定乘坐这趟列车。在提供正确的身份证号码和照片比对后,汪广福顺利拿到了临时身份证明。汪广福发现,尽管受到特殊照顾,但安全检查每一项都不能少。二楼共有12台检票闸机,以确保旅客出行畅通无阻。工作人员把汪广福推向进站闸机口。说话间,工作人员推着汪广福二次进入无障碍直梯,顺利下到了第五站台。工作人员推着汪广福来到了他所在的车厢,与列车乘务人员进行了重点交接。

  • 2022西安中考招生录取日程安排表(西安市中考录取时间2021具体时间)

    西安中考录取日程安排表:提示:时间若有调整,请以官方通知为准!

  • 板栗养生做法大全(养生多面手板栗)

    板栗中含有营养丰富的蛋白质。蛋白质含量高的食材有很多,板栗的出众之处就在于,板栗的蛋白质都是由营养均衡的氨基酸组成的,且低分子量居多,因此板栗中的蛋白质相对于其他蛋白质更易于被人体所消化和吸收,从而起到“厚肠胃”的效果。板栗提取物可改善胆固醇代谢,减少皮下脂肪堆积,阻止动脉粥样硬化,帮助人体血管壁保持弹性。

  • 劳斯莱斯幻影加长版国外售价(劳斯莱斯幻影加长版成功者得超级座驾)

    劳斯·幻影加长外观:钻石黑内饰:阿玛尼亚克棕木饰:钢琴黑木选配:金单腰线(长)流星顶后排野餐桌后排航空座椅RR头枕刺绣-海军蓝滚边、缝线-海军蓝[加油][加油][加油][加油][握手][握手][握手]劳斯莱斯·幻影加长可增可普外观:银-钻石黑内饰:橘色-黑色木饰:胡桃木选配:22轮全抛光铝合金轮毂单长腰线(黑)Bespoke双色定制内饰石板纹理画廊座椅滚边-黑色、座椅缝线-黑色RR头枕刺绣-黑色后

  • 关于高中生的梦想格言(关于高中生的梦想格言有哪些)

    关于高中生的梦想格言志不强者智不达。——墨翟燕雀安知鸿鹄之志哉!——陈涉志当存高远。——诸葛亮老骥伏枥,志在千里;烈士暮年,壮心不已。——曹操燕雀戏藩柴,安识鸿鹄游。——王勃大鹏一日同风起,扶摇直上九万里。——李白古之立大事者,不惟有超世之才,亦必有坚忍不拔之志。——苏轼生当作人杰,死亦为鬼雄,至今思项羽,不肯过江东。——李清照壮心未与年俱老,死去犹能作鬼雄。——陆游贫不足羞,可羞是贫而无志。

  • 财运最旺的十种花草(13种旺财花草)

    01老鸦柿老鸦柿也被称为是野柿子,它的外观和柿子很像。肥料一个月施肥一两次即可,薄肥勤施,可以用化肥,复合肥等等。它的叶片生长迅速,而且非常对称,圆圆的叶片像铜钱一样,金钱树的名称由此而来。04钱串子钱串子的长得一串一串的,而单个看起来又像铜钱一样,因此被称为钱串子。肥料方面,每个月施一次肥即可,复合肥,有机肥均可。发财树的根系弱,根须细,因此不能长期泡水,不然小根须就泡烂了,就会慢慢腐烂。

  • 江苏省2020年秋季新学期疫情防控必修课直播收看时间

    2020年秋季新学期开学在即,防疫工作仍是重点。由江苏省委宣传部、江苏省文明办、江苏省卫生健康委、江苏省教育厅联合主办,江苏省疾病预防控制中心承办,南京市教育局协办的《新学期疫情防控必修课》8月31日19:30分在优漫卡通卫视播出,荔枝新闻同步网络直播。