通俗易懂,java8 .stream().map().collect()用法
API: https://www.runoob.com/java/java8-streams.html
模板:
mylist.stream().map(myfunction->{return item;}).collect(Collectors.toList());
说明:
steam():把一个源数据,可以是集合,数组,I/O channel, 产生器generator 等,转化成流。
forEach():迭代流中的每个数据。以下代码片段使用 forEach 输出了10个随机数.
Random random = new Random();
random.ints().limit(10).forEach(System.out::println);
map():用于映射每个元素到对应的结果。以下代码片段使用 map 输出了元素对应的平方数:
List<Integer> numbers = Arrays.asList(3, 2, 2, 3, 7, 3, 5);
// 获取对应的平方数
List<Integer> squaresList = numbers.stream().map( i -> i*i).distinct().collect(Collectors.toList());
filter():filter 方法用于通过设置的条件过滤出元素。以下代码片段使用 filter 方法过滤出空字符串:
List<String>strings = Arrays.asList("abc", "", "bc", "efg", "abcd","", "jkl");
// 获取空字符串的数量
int count = strings.stream().filter(string -> string.isEmpty()).count();
limit
limit 方法用于获取指定数量的流。 以下代码片段使用 limit 方法打印出 10 条数据:Random random = new Random();
random.ints().limit(10).forEach(System.out::println);
sorted():用于对流进行排序。以下代码片段使用 sorted 方法对输出的 10 个随机数进行排序:
Random random = new Random();
random.ints().limit(10).sorted().forEach(System.out::println);
并行(parallel)程序
parallelStream 是流并行处理程序的代替方法。以下实例我们使用 parallelStream 来输出空字符串的数量:List<String> strings = Arrays.asList("abc", "", "bc", "efg", "abcd","", "jkl");
// 获取空字符串的数量
int count = strings.parallelStream().filter(string -> string.isEmpty()).count();
我们可以很容易的在顺序运行和并行直接切换。
Collectors():类实现了很多归约操作,例如将流转换成集合和聚合元素。Collectors 可用于返回列表或字符串:
List<String>strings = Arrays.asList("abc", "", "bc", "efg", "abcd","", "jkl");
List<String> filtered = strings.stream().filter(string -> !string.isEmpty()).collect(Collectors.toList());System.out.println("筛选列表: " + filtered);
String mergedString = strings.stream().filter(string -> !string.isEmpty()).collect(Collectors.joining(", "));
System.out.println("合并字符串: " + mergedString);
通俗易懂,java8 .stream().map().collect()用法相关推荐
- java8 stream().map().collect()用法
java8 stream().map().collect()用法 有一个集合: List<User> users = getList(); //从数据库查询的用户集合 现在想获取User的 ...
- Stream的特性、用法、stream().map().collect()用法
Stream的特性.用法.stream().map().collect()用法 1.举例说明 有一个集合: List<User> users = getList(); 现在想获取User的 ...
- java8 .stream().map().collect() 的用法
API: https://www.runoob.com/java/java8-streams.html mylist.stream().map(myfunction->{return item; ...
- java8 stream().map().collect()的Collectors.toList()、Collectors.toMap()、Collectors.groupingBy()的
一.Collectors.toList() 现在有个集合: List<User> users = getUserList(); 现在需要将这些user的id提取出来.这个很简单,for循环 ...
- stream().map().collect()用法
有一个集合: List users = getList(); //从数据库查询的用户集合 现在想获取User的身份证号码:在后续的逻辑处理中要用: 常用的方法我们大家都知道,用for循环, List ...
- Java8 stream().map()将对象转换为其他对象
Java8 stream().map()将对象转换为其他对象 1: 将对象List转为List public class user{private String name;private String ...
- JAVA Stream的collect用法与原理(详解)
初识Collector 先看一个简单的场景: 现有集团内所有人员列表,需要从中筛选出上海子公司的全部人员 假定人员信息数据如下: 姓名 子公司 部门 年龄 工资 大壮 上海公司 研发一部 28 300 ...
- java8 stream reduce 方法用法 java stream reduce 方法使用方法
java8 stream reduce 方法用法 java stream reduce 方法使用方法 一.背景 在使用Stream的reduce方法时,发现该方法有 3个重载方法,分别是: 一个参数. ...
- strm().filter().collect()和stream().map().collect()的作用
在看代码的时候看到了相关方法,自己在写了个例子练习一下 public class People {private Integer id;private String name;private Bool ...
最新文章
- 今天看到一个关于营销学和广告创意研究的文章
- 百度地图 osm地图 leaflet echarts webapck的组合使用时的踩坑记录
- java阅读doc文件格式_java – 正确区分.xls和.doc文件的方法?
- Linux下搭建jenkins+svn+http+maven自动化部署
- 当一个有性能问题的数据库摆在你的面前,作为责任人,你的处理思路是什么?...
- SpringMVC的请求-文件上传-单文件上传的代码实现2
- 力压Java、C语言!Python 获2018年度编程语言
- 英伟达有魔力,Uber小心翼翼 | 跟着开复去硅谷Day1
- 易语言怎么判断文件是否一样_怎么判断自己是否怀孕?
- 熵、条件熵、互信息等概念
- 张俊芳电机学17章计算题以及答案
- Java、python、数据分析精美简历模板
- 怎样提高报表呈现的性能
- 分享几个免费的人工智能类API接口
- iOS开发 - 给Label加下划线、中划线
- 蛋白和肽测序仪销量、收入、价格、毛利率及市场份额
- 329 矩阵中的最长递增路径
- mysql安装快完了报错creating mysql router configuration显示不通过,图文教程
- Linux命令入门教程(三):文件基础篇
- 惠普HP Deskjet 3054 - J610a 一体机驱动