吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 2993|回复: 6
收起左侧

[Java 转载] java 8 stream 处理对于 List<Map<String,Object>> 数据的分组求和

[复制链接]
especial 发表于 2020-7-22 10:50
java 8 在推出stream 之后大大的简化了 对于集合等数据的处理
在业务场景中经常会遇到对于批量数据在代码层面的汇总求和逻辑
这里就直接代码了
arrCollect=arrCollect.stream().collect(Collectors.groupingBy(e -> e.get("tName"))).values().stream().map(d -> {
                Map<String, Object> sampleData = d.get(0);
                sampleData.put("price", d.stream().map(s -> new BigDecimal(s.get("price").toString())).reduce(BigDecimal.ZERO, BigDecimal::add));
                return sampleData;
            }).collect(Collectors.toList());
以及对于List<T> 多个list 汇总成一个list

reduce(new ArrayList<WmTblWorkorder>(), (all, item ) -> {all.addAll(item); return all;}));

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

夏橙M兮 发表于 2020-7-22 17:33
谢谢分享,这个函数式编程是面向行为的,简洁易懂值得学习。
爱你分享 发表于 2020-7-22 17:52
个人认为,可读性不太高,平常会用在生产开发中吗?
 楼主| especial 发表于 2020-7-24 09:06
是的  在对于不同的地方获取到的数据 在代码层面进行分组汇总,我个人就用到了好多
peterxiaoyang 发表于 2020-7-27 17:36
多个List合并成一个List 直接用addAll不也可以吗?
 楼主| especial 发表于 2020-7-28 14:00
分组  list 汇总
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-25 22:38

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表