集合操作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相关推荐

  1. Java8 stream().map()将对象转换为其他对象

    Java8 stream().map()将对象转换为其他对象 1: 将对象List转为List public class user{private String name;private String ...

  2. java8 stream().map().collect()用法

    java8 stream().map().collect()用法 有一个集合: List<User> users = getList(); //从数据库查询的用户集合 现在想获取User的 ...

  3. Java Stream map flatMap mapMulti的升维和降维

    //升维List<Integer> list = List.of(4, 5, 6);System.out.println("第1个");//mapMulti产生额外的一 ...

  4. java8 .stream().map().collect() 的用法

    API: https://www.runoob.com/java/java8-streams.html mylist.stream().map(myfunction->{return item; ...

  5. java8 stream().map().collect()的Collectors.toList()、Collectors.toMap()、Collectors.groupingBy()的

    一.Collectors.toList() 现在有个集合: List<User> users = getUserList(); 现在需要将这些user的id提取出来.这个很简单,for循环 ...

  6. 通俗易懂,java8 .stream().map().collect()用法

    API: https://www.runoob.com/java/java8-streams.html 模板: mylist.stream().map(myfunction->{return i ...

  7. java8 stream to map_Java 8 Stream Api 中的 map和 flatMap 操作

    1.前言 Java 8 提供了非常好用的 Stream API ,可以很方便的操作集合.今天我们来探讨两个 Stream 中间操作 map 和 flatMap 2. map 操作 map 操作是将流中 ...

  8. Java8 Stream详解~映射(map/flatMap)

    映射,可以将一个流的元素按照一定的映射规则映射到另一个流中.分为map和flatMap: map:接收一个函数作为参数,该函数会被应用到每个元素上,并将其映射成一个新的元素. flatMap:接收一个 ...

  9. Java8 Stream接口流式方法:map操作、filter操作以及flatMap操作

    点击关注公众号,利用碎片时间学习 关于stream 流式操作,在rt.jar 包里面,ReferencePipeline管道方式操作数据 下面集成所有操作方法,利用这些流,处理大数据的方式,效率提升明 ...

最新文章

  1. 异步IO(协程,消息循环队列)
  2. [ARM异常]-图解armv7/armv8的异常向量表和基地址
  3. GraphPad Prism 的统计显著性报告中*或**或**的含义是什么?
  4. Spring Boot——易班优课YOOC课群在线测试自动答题解决方案(三)答案查询
  5. c语言科学计数法_C入门:C语言中数据的储存(上)
  6. 没想到Sharding-Jdbc竟然这么牛逼!一键实现读写分离、分库分表~
  7. python 会议室预约系统解决方案_智能会议预约系统解决方案
  8. 涉密计算机检查情况 月检查表,关于2017年下半年保密检查的通知
  9. 腾讯围棋AI技术PhoenixGo正式开源
  10. BATT入局,小程序成超级APP连接一切的枢纽
  11. 目录 如何成为一个合格的段子手
  12. 服务器无法取消指令方块显示,我的世界服务器如何关掉命令方块的提示(如图)?...
  13. 自定义小部件Widget的探讨
  14. 打开word2007总是出现配置进度_最新版斑马进度计划软件更新了哪些功能?一起来探索 !...
  15. 学一点Wi-Fi:DPP(WiFi Easy Connect)
  16. 遥感影像多光谱与全色IHS融合
  17. 数字化引领LED照明的未来
  18. POJ1845(约数之和)
  19. python员工管理软件----列表初体验
  20. EESoft Flexnet Licence Server 服务无法启动(2023.1.31 update)

热门文章

  1. 一个被放大43亿倍的DDoS数据包会产生怎样的结果?
  2. java if(true)_使用 if(true) 和 if(false)
  3. Django基础概念和MVT架构(一)
  4. 做时间的记录者—手机摄影达人20天养成计划
  5. Java项目:设备台账管理系统(java+SSM+HTML+JSP+JS+mysql)
  6. 有一种心酸,叫靠自己
  7. 家长育儿风格决定教育效果!
  8. 运行uniapp项目,提示uniapp依赖插件还未加载,请稍后重试
  9. 知名的兴趣社群平台小打卡是如何获得5000万用户的?【黑盒研究内参第11期】...
  10. 记录一次华为CE6800和华三S6800交换机BFD对接配置