设为首页 加入收藏

TOP

FlatMap和map的区别
2023-07-25 21:24:49 】 浏览:34
Tags:FlatMap map

FlatMap和map的区别

官方解释

map

返回一个流,流里的元素是,原流元素经常函数处理的结果。

也可以理解为将原流的元素,通过function进行处理后替换。

flatMap

返回一个流,先将流的元素通过指标函数映射,再合并一个流。

遇到问题的情况

通过数据库分组查询出一个对象的集合,对象的billId根据分组条件进行group_concat进行拼接,导致返回的对象数据里,存在数据billId属性的值为 billId,billId...类似的字符串,现在需要遍历集合收集成一个billId的list集合。

list.add(new String[]{"1","2,3","4,5,6"})
list.add(new String[]{"7,8","9"})

List<String> billIds = list.stream()
	.map(bill -> bill.getBillId().split(","))
	.flatMap(Arrays::stream)
	.collect(Collectors.toList());

//billIds输出为
//1,2,3,4,5,6,7,8,9

拿上述例子说明:

  • map是将原来的对象流通过function将billId分割为字符串数组
  • flatMap是将字符串数据流每个元素进行流化操作,再将这些流放到一起形成一个字符串流
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇自定义RedisUtils个工具类 下一篇SpringBoot(六) - 阿里巴巴的Easy..

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目