java8 stream map flatMap
集合操作stream出了以后简化了代码和增强了可读性。
今天使用map和flatMap简单记录一下。
例:
public class Test {public static void main(String[] args) {Te te = new Te();List<Integer> list = new ArrayList<>();list.add(1);list.add(2);list.add(3);list.add(4);list.add(5);Stream<Integer> stream = list.stream();List<Long> rs = list.stream().map(te::tef).collect(Collectors.toList());System.out.println(rs);List<String> strings = new ArrayList<>();strings.add("test");strings.add("hesh");List<String> list1 = strings.stream().map(te::tefList).flatMap(Collection::stream).collect(Collectors.toList());System.out.println(list1);}}
public class Te {public Long tef(Integer d){System.out.println("输出参数:"+d);return (d+10L);}public List<String> tefList(String d){String[] strings = d.split("");return Arrays.stream(strings).collect(Collectors.toList());}}
结果:
输出参数:1
输出参数:2
输出参数:3
输出参数:4
输出参数:5
[11, 12, 13, 14, 15]
[t, e, s, t, h, e, s, h]
<R> Stream<R> map(Function<? super T, ? extends R> mapper);
.map():类似于单一处理,如果方法是单参数会默认传参。
<R> Stream<R> flatMap(Function<? super T, ? extends Stream<? extends R>> mapper);
.flatMap():类似与拆分处理。flatMap入参是Function,Function中? extends Stream,所以入参必须是Stream。例子中的flatMap,它处理的是map转换之后的,tefList返回的是一个List,,而List继承自Collection,所以此处的.flatMap(Collection::stream)是一个转化的作用,将List<>转成Stream<>,然后由flatMap拆分,在由collect聚合
java8 stream map flatMap相关推荐
- Java8 stream().map()将对象转换为其他对象
Java8 stream().map()将对象转换为其他对象 1: 将对象List转为List public class user{private String name;private String ...
- java8 stream().map().collect()用法
java8 stream().map().collect()用法 有一个集合: List<User> users = getList(); //从数据库查询的用户集合 现在想获取User的 ...
- Java Stream map flatMap mapMulti的升维和降维
//升维List<Integer> list = List.of(4, 5, 6);System.out.println("第1个");//mapMulti产生额外的一 ...
- 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循环 ...
- 通俗易懂,java8 .stream().map().collect()用法
API: https://www.runoob.com/java/java8-streams.html 模板: mylist.stream().map(myfunction->{return i ...
- java8 stream to map_Java 8 Stream Api 中的 map和 flatMap 操作
1.前言 Java 8 提供了非常好用的 Stream API ,可以很方便的操作集合.今天我们来探讨两个 Stream 中间操作 map 和 flatMap 2. map 操作 map 操作是将流中 ...
- Java8 Stream详解~映射(map/flatMap)
映射,可以将一个流的元素按照一定的映射规则映射到另一个流中.分为map和flatMap: map:接收一个函数作为参数,该函数会被应用到每个元素上,并将其映射成一个新的元素. flatMap:接收一个 ...
- Java8 Stream接口流式方法:map操作、filter操作以及flatMap操作
点击关注公众号,利用碎片时间学习 关于stream 流式操作,在rt.jar 包里面,ReferencePipeline管道方式操作数据 下面集成所有操作方法,利用这些流,处理大数据的方式,效率提升明 ...
最新文章
- 异步IO(协程,消息循环队列)
- [ARM异常]-图解armv7/armv8的异常向量表和基地址
- GraphPad Prism 的统计显著性报告中*或**或**的含义是什么?
- Spring Boot——易班优课YOOC课群在线测试自动答题解决方案(三)答案查询
- c语言科学计数法_C入门:C语言中数据的储存(上)
- 没想到Sharding-Jdbc竟然这么牛逼!一键实现读写分离、分库分表~
- python 会议室预约系统解决方案_智能会议预约系统解决方案
- 涉密计算机检查情况 月检查表,关于2017年下半年保密检查的通知
- 腾讯围棋AI技术PhoenixGo正式开源
- BATT入局,小程序成超级APP连接一切的枢纽
- 目录 如何成为一个合格的段子手
- 服务器无法取消指令方块显示,我的世界服务器如何关掉命令方块的提示(如图)?...
- 自定义小部件Widget的探讨
- 打开word2007总是出现配置进度_最新版斑马进度计划软件更新了哪些功能?一起来探索 !...
- 学一点Wi-Fi:DPP(WiFi Easy Connect)
- 遥感影像多光谱与全色IHS融合
- 数字化引领LED照明的未来
- POJ1845(约数之和)
- python员工管理软件----列表初体验
- EESoft Flexnet Licence Server 服务无法启动(2023.1.31 update)
热门文章
- 一个被放大43亿倍的DDoS数据包会产生怎样的结果?
- java if(true)_使用 if(true) 和 if(false)
- Django基础概念和MVT架构(一)
- 做时间的记录者—手机摄影达人20天养成计划
- Java项目:设备台账管理系统(java+SSM+HTML+JSP+JS+mysql)
- 有一种心酸,叫靠自己
- 家长育儿风格决定教育效果!
- 运行uniapp项目,提示uniapp依赖插件还未加载,请稍后重试
- 知名的兴趣社群平台小打卡是如何获得5000万用户的?【黑盒研究内参第11期】...
- 记录一次华为CE6800和华三S6800交换机BFD对接配置