请选择 进入手机版 | 继续访问电脑版
MSIPO技术圈 首页 IT技术 查看内容

Java使用Stream流

2023-07-13

在实际的开发工作中,集合是我们非常常用的一种。
当我们想对集合内的对象加工时,你是不是首先想到了for循环?

其实在java8以后,引入的Stream流,同时搭配lambda的使用,可以支持一系列复杂的操作,使我们操作集合时更加方便的同时,也会使代码看起来更加简洁

假设我们有一个集合

List<Model> modelList=xxMapper.selectModelInfo();

我们可以借助Stream对modelList进行一系列操作

1.循环

modelList.Stream.map(model->{
	model.setName("mm");
	return model;
}).collect(Collectors.toList());

2.提取某个元素成新的集合

List<String> nameList=modelList.stream().map(
Model::getName).distinct().collect(Collectors.toList()
);

3.转成map

Map<String,Model> modelMap = modelList.stream().collect(
Collectors.toMap(Model::getName,model -> model,(s, s2) -> s2)
);

4.转成map并分组

Map<String, List<Model>> modelMap = modelList.stream().collect(
Collectors.groupingBy( Model::getName)
);

5.过滤

modelList=modelList.stream().filter(
item -> "xiaoMing".equals(item.getName())
).collect(Collectors.toList());

后续会持续完善~~~

相关阅读

手机版|MSIPO技术圈 皖ICP备19022944号-2

Copyright © 2024, msipo.com

返回顶部