ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

jdk1.8之流式表达式

2020-10-21 22:32:39  阅读:231  来源: 互联网

标签:jdk1.8 stream 元素 list 流式 参数 集合 操作 表达式


List.stream()转换成流,然后进行流的各种操作,分为中间操作和终结操作。中间操作是指返回值还是stream,还需要继续处理。终结操作是指不再往下进行流式表达式了。具体如下:

中间操作:

1.filter()过滤:list.stream().filter(u->u.xxx条件)。其中,filter参数的u代表list集合中的每个元素。->后面的是元素的某个属性满足什么条件。进行元素的过滤。该方法的返回值还是stream()流。需要跟一个终结操作方法。

2.distinct()方法:无需参数,对集合中的元素进行去重操作。

3.sorted()方法:对元素进行排序操作。没有参数时,自然排序,有参数时,用comparator接口定义排序规则即可。

4.limit()方法:取集合的长度。

5.map()方法:该方法会接受一个函数作为参数,这个函数会被应用到每个元素上,并将其映射成一个新的元素。就是根据指定函数获取流中得每个元素得数据并重新组合成一个新的元素。运行函数后,将函数的运行结构组成新的集合返回。

由此可知,中间操作类似于sql语句,去处理集合中的数据。

6.collect()方法:收集流的操作,最终生产一个list,map或set。参数中调Collections.toList()即可返回流处理后的新的list.

终结操作:

Collectors中有一些分组,求最大值,最小值,平均值的方法,放入collect()参数中,返回相应结果。也是类似于sql操作。所以有这个概念就行,集合中的元素,也可以进行类似sql的过滤,求和,分组等操作。

 

标签:jdk1.8,stream,元素,list,流式,参数,集合,操作,表达式
来源: https://www.cnblogs.com/hongyuansu/p/13855285.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有