范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文
国学影视

Java中Stream简明使用教程

  一、前言
  都JDK15了,你还在使用java8?那好,你知道jdk8的Strean都有哪些用法吗...
  java8,永远滴神 ,下面我们就简要说一下stream的一些常用方法,跟着我的节奏...冲! 二、再说Stream
  2.1、Java8是一个非常成功的版本,尤其是改版本中的Stream搭配Lambda,使得我们更便利的进行集合操。
  Stream可以将需要处理的集合元素看做是流操作,是对结合对象功能的一个增强,Stream API借助同时出现的Lambda表达式
  可以更为便利地对集合进行:筛选、排序、聚合、分组等操作。
  2.2、Stream的几个特性:
  ① 不存储数据,只是对数据的记性运算
  ② 不会改变数据源,但是可以产生一个新的集合或其他值
  ③ 它的工作流程是:获取数据流 -> 进行制定运算 -> 产生新的数据流 -> 支持数据新的数据结果
  三、Stream的几种常见用法3.1、遍历输出        List integerList = Arrays.asList(1,2,3,4,5,6,7,8,9,1,2,4);         System.out.println("***********************遍历输出****************************");         // 这里也可以不使用stream,直接使用forEach         integerList.stream().forEach(System.out :: println);
  Java
  3.2、获取数量        System.out.println("***********************获取数量****************************");         long countRlt = integerList.stream().count();         System.out.println(countRlt);
  Java
  3.3、获取最大值或最小值        System.out.println("***********************获取最大值****************************");         Integer maxRlt = integerList.stream().max(Integer::compareTo).get();         System.out.println(maxRlt);          System.out.println("***********************获取最小值****************************");         Integer minRlt = integerList.stream().min(Integer::compareTo).get();         System.out.println(minRlt);
  Java
  3.4、条件检测或筛选        System.out.println("***********************任意条件检测****************************");         System.out.println(integerList.stream().anyMatch(item -> item > 7));          System.out.println("***********************全部条件检测****************************");         boolean allMatchRlt = integerList.stream().allMatch(item -> item % 2 == 0);         System.out.println(allMatchRlt ? "集合中全部都是偶数" : "集合中并不全是偶数");          System.out.println("***********************条件遍历输出****************************");         integerList.stream().filter(item -> item > 5).forEach(System.out :: println);          System.out.println("***********************条件输出第一个值****************************");         Integer rltFir = integerList.stream().filter(item -> item > 6).findFirst().get();         System.out.println(rltFir);          System.out.println("***********************条件输出任意值****************************");         Integer rltAny = integerList.parallelStream().filter(item -> item > 6).findAny().get();         System.out.println(rltAny);     System.out.println("***********************条件筛选并放入新容器中****************************");         List integerListFilter = integerList.stream().filter(item -> item >= 6).collect(Collectors.toList());         integerListFilter.forEach(System.out :: println);
  Java
  3.5、去重        System.out.println("***********************去除重复值并输出****************************");         Stream integerStream = integerList.stream().distinct();         integerStream.forEach(System.out :: println);
  Java
  3.6、截取        System.out.println("***********************返回固定长度****************************");         integerList.stream().limit(3).forEach(System.out :: println);          System.out.println("***********************去掉指定长度的元素****************************");         integerList.stream().skip(3).forEach(System.out :: println);
  Java
  3.7、规约        System.out.println("***********************规约****************************");         System.out.println("集合中所有元素之和为:" + integerList.stream().reduce(0, (a, b) -> a + b ));         System.out.println("集合中所有元素之和为:" + integerList.stream().reduce(0, Integer::sum));         System.out.println("集合中最大的数为:" + integerList.stream().reduce(0, Integer :: max));
  Java
  3.8、映射        System.out.println("***********************map映射****************************");         List streamHandleEntityList = new ArrayList<>();         for(int i=0;i<10;i++){             StreamHandleEntity streamHandleEntityTmp = new StreamHandleEntity();             streamHandleEntityTmp.setName("name" + i);             streamHandleEntityTmp.setPassword("password" + i);             streamHandleEntityTmp.setAge(i * 10);             streamHandleEntityTmp.setSex(i%2 == 0 ? "man" : "women");             streamHandleEntityList.add(streamHandleEntityTmp);         }         streamHandleEntityList.stream().map(StreamHandleEntity::getName).collect(Collectors.toList()).forEach(System.out :: println);          System.out.println("***********************map映射,多参数****************************");         streamHandleEntityList.stream().map(item ->{             StreamHandleDTO streamHandleDTO = new StreamHandleDTO();             streamHandleDTO.setName(item.getName());             streamHandleDTO.setSex(item.getSex());             return streamHandleDTO;         }).collect(Collectors.toList()).forEach(System.out :: println);
  Java
  3.9、分组        System.out.println("***********************分组****************************");         Map> groupRlt = streamHandleEntityList.stream().collect(Collectors.groupingBy(StreamHandleEntity::getSex));         System.out.println(groupRlt);         List manDatas = groupRlt.get("man");         System.out.println(manDatas);
  Java
  3.10、结合        System.out.println("***********************结合****************************");         String names = streamHandleEntityList.stream().map(StreamHandleEntity::getName).collect(Collectors.joining(" -- "));         System.out.println(names);
  Java
  3.11、排序        System.out.println("***********************排序****************************");         integerList.stream().sorted().forEach(System.out :: println);      System.out.println("***********************指定排序****************************");         // 指定项正序         List sortRlt = streamHandleEntityList.stream().sorted(Comparator.comparing(StreamHandleEntity::getAge)).collect(Collectors.toList());         System.out.println(sortRlt);      // 指定项倒序         List sortReverseRlt = streamHandleEntityList.stream().sorted(Comparator.comparing(StreamHandleEntity::getAge).reversed()).collect(Collectors.toList());         System.out.println(sortReverseRlt);

有多少宇航员在太空中死亡?人类航天史上已经有22名宇航员丧生,却从未有宇航员在太空中死亡。太空飞行对体质有较高要求,身体不好在火箭发射时就难扛过去,在正常运行的飞船内宇航员却相当安全。由于目前的飞船都是用火二手iPhone靠谱吗?您好,我从四种渠道分析二手iPhone的情况,快来看看吧,希望对您有帮助二手苹果手机水真的很深,这是我买二手机的经历,次次被骗,真不如买新的,想想谁的东西没毛病会无故低价卖掉呢?真假如用回14纳米的芯片,影响有多大,会比7纳米的差多少?14纳米制程的芯片,也就是三年前的手机水平,可能有很多人现在用的就是14或16纳米的手机,可能还是很流畅。2014年,台积电三星格罗方德量产20纳米制程的芯片,而英特尔则开始量产1空客A380那么大,一架多少钱呢?空客A380是目前全球最大的民航客机,那到底有多大呢?我们来看一下它基本的参数。(1)尺寸空客A380是至今为止全球最大的宽体客机,外体长72。75米,翼展79。75米,机翼面积8为什么欧洲人都用谷歌,且感觉很难舍弃?这个问题应该用另外一个问题来解答。为什么世界上只有几个国家不用谷歌?俄罗斯就是自己开发的。日本也有,中国也有。然而,使用之后的直观感觉就是,没有其它任何一个搜索引擎有能力挑战谷歌,为什么TPLINK(普联)从来不公布路由器产品的CPU运行内存闪存等相关参数?都买TP了,还在乎硬件配置么?能用就好我用过的tp虽然硬件不出彩,但稳定性是最好的,没有用坏的,不过它每个型号的版本越靠后缩水越严重tp七八年前京东买过,各种掉线卡顿。后来用荣耀路明知道月球不能居住,人类为什么花费大量人力物力去探索?人类为了探索宇宙,必须循环渐近。月球距离地球最近,人类要向外太空发展,那就要依月球为基地。一步步向前迈进。人类进驻月球,需要很多科学知识。能登上月球也就解决向宇宙迈出第一步。这一步人类有可能飞出太阳系吗?常有人质疑和担忧,人类最终能够飞出太阳系吗?我认为这是无需质疑的,肯定能飞出,只是怎么飞出什么时候飞出的问题。首先我们确定一下太阳系的范围。距离太阳最远的行星是海王星,约30个天文宇宙中有100颗恒星突然消失,难道它们都被地外生命吸收了吗?周而复始是宇宙之中普遍的规律。任何有生命和无生命的物质,都逃脱不了这个亘古不变的真理。恒星即将死亡图片既然是恒星,那就用我们最熟悉的,也是我们时时刻刻离不开的太阳来说吧,它诞生于4大家都在热议芯片,那么邓中翰院士主导的中星微属于什么水平?感谢您的阅读!我还记得曾经著名的经济学家吴敬琏教授在清华大学CIDEG主办的学术年会上表示,不惜一切代价发展芯片产业是有风险的。可见芯片研究,从来没有完全得到一些人的认同,甚至很多比特币密码算法攻破,比特币玩家的钱怎么办,疯狂卖出?比特币本来就没有价值,顶多有点情怀。首先算法都是基于当前的一些数学难题来处理,破解难度很大。其次比特币的代码是开源的,也有专门的人来维护。所以算法是可以更换的,如果某一个数学难题被
四种常用的微服务架构拆分方式微服务架构并无标准架构,不然什么架构师大会也不会各个系统架构百花齐放了。虽然没有固定的套路,却有一些经验,今天就来做一个总结。基于角色拆分这种拆分方式常见于基础设施以及其PaaS层你相信吗?小米居然加入了鸿蒙生态文丨58数码你们知道一个正确的决定会对一个人产生什么影响吗?举个例子,雷军创办的小米在创立初期因为出现的时机以及极其实惠的价格受到不少网友的一致好评。而尝到甜头的雷军更是坚定了用实盘点在韩的中国品牌山寨品也能攻陷韩国市场随着中国智造日益强盛,近些年来通过亚马逊速卖通ebay等跨境电商平台,已有不少中国品牌成功出海,且在全球范围赢得了较高的认知度和信誉度。就连最难啃的韩国市场,不少中国产品也纷纷突破Apple新固件更新,兼容更多设备Apple已向所有果粉们推送了iOS15。5Beta2测试版,虽然只是小版本的修复,并没有带来重要的新功能。但果粉们暗示在更新中发现Apple的一些新的代码显示,ApplePay将SpringRetry在SpringBoot中的应用SpringRetry提供了自动重新调用失败的操作的功能。这在错误可能是暂时的(例如瞬时网络故障)的情况下很有用。从2。2。0版本开始,重试功能已从SpringBatch中撤出,成苹果可能会在2024年推出其第一款真全面屏手机分析师郭明錤近日在推特上表示,苹果可能会在2024年推出其第一款真全面屏手机,iPhone16Pro可能是第一款配备屏下面容ID和屏下前置摄像头的苹果设备。事实上,郭最新的推文链接目前最便宜的4款12G256G手机,优点各不相同,都在1999元以内不知道大家发现没有,其实很多人一直都分不太清运存和闪存这两个问题,其实这个问题很简单,内存就是处理文件的地方,内存越大,处理各类程序的速度越快闪存则是用来存储文件的地方,闪存越大,三大运营商2022一季报出炉三家合计净利润375亿,5G用户数8。49亿4月22日,资本邦了解到,电信三巨头公布2022年第一季度报告。中国电信(00728。HK601728。SH)公告称,2022年首季,公司营业收入为人民币(下同)1185。8亿元,SpringBoot接入Swagger及SwaggeruiDemo地址httpsgitee。compenglddemoswaggerdemoMaven依赖!SwaggerdependencygroupIdio。springfoxgroup孙海洋夫妇成立文化传媒公司,经营范围含互联网直播企查查APP显示,4月20日,深圳市四丫头孙卓嘛嘛四英文化传媒有限公司成立,注册资本100万元人民币,法定代表人及执行董事为彭四英(孙海洋妻子),经营范围包含文艺创作个人互联网直播C11移除了一个新特性在先前的C11预览版本中,C11引入了一个新特性,允许在参数名称的末尾加上!!来简化空值检查(nullchecking)。比如下面这个方法使用传统的方式进行参数空值检查public