1.将结果先分组,然后进行计算求和

// 将结果先分组,然后进行计算求和
List<Model> resultList = new ArrayList<>();
resultList = list.stream().collect(Collectors.groupingBy(a -> a.get("goupBycode"))).values().stream().map(b -> {Model model = new Model();Model.setMaterialcode(b.get(0).get("goupBycode").toString());Model.setStr1(b.stream().map(c -> new BigDecimal(c.get("str1") == null ? "0": c.get("str1").toString())).reduce(BigDecimal.ZERO, BigDecimal::add).toString());Model.setStr2(b.stream().map(c -> new BigDecimal(c.get("str2") == null ? "0": c.get("str2").toString())).reduce(BigDecimal.ZERO, BigDecimal::add).toString());return model;}).collect(Collectors.toList());

2.将结果先分组,返回某个数量的最大值

// 将结果先分组,返回某个数量的最大值
List<Model> resultList = new ArrayList<>();
Map<String, Model> stockCollects = list.stream().collect(Collectors.groupingBy(Model::getGoupBycode, Collectors.collectingAndThen(Collectors.reducing((c1, c2) -> Long.valueOf(c1.getStr()) > Long.valueOf(c2.getStr()) ? c1 : c2),Optional::get)));
if (stockCollects.size() > 0) {resultList = new ArrayList(stockCollects.values());
}

java8 Stream分组求和reducing分组求最大值相关推荐

  1. java stream 分组求和_Java stream List 求和、分组操作

    Java stream List 求和.分组操作 前言 项目中经常会使用Stream操作一些集合数据,今天记录一下我经常使用的Stream操作 求和操作public static void main( ...

  2. python分组符合条件相加_python实现分组求和与分组累加求和代码

    我就废话不多说了,大家还是直接看代码吧! # -*- encoding=utf-8 -*- import pandas as pd data=['abc','abc','abc','asc','ase ...

  3. R语言分组求和,分组求平均值,分组计数

    我们经常可能需要把一个数据按照某一属性分组,然后计算一些统计值.在R语言里面,aggregate函数就可以办到. ## S3 method for class 'data.frame' aggrega ...

  4. sql sum,group by 分组求和后在求总和,with rollup,with cube的区别

    有表数据如下: create table tt(name varchar(10),num decimal(18,2),ph int)insert into tt(name,num,ph) values ...

  5. Golang——切片使用大全(创建、初始化、遍历、截取、修改、添加、切片的copy、切片作为函数参数、切片求和、切片求最大值)

    概念: 切片出现的原因也是因为数组的可操作性不高.切片的长度是不固定的,可以追加数据,可以理解切片是一个动态数组,切片的底层是一个结构体 切片类型(slice)本身并不是动态数组或数组指针.它内部通过 ...

  6. sql 分组求和 、分组求平均

    SELECT device_type_name, AVG(rate) FROM tb_device_rate GROUP BY device_type_name SELECT device_type_ ...

  7. java用tkmapper分组查询_mybatis example group by count 分组求和 - java分组求和

    一.简单说明 本以为mybatis的example可以搞定group by,后面看到说不行 于是曲线救国,直接查出一个list,然后再用java对数据进行操作 不过话说回来,这样写是比写sql麻烦一点 ...

  8. java stream实现分组BigDecimal求和,自定义分组求和

    前言 随着微服务的发展,越来越多的sql处理被放到java来处理,数据库经常会使用到对集合中的数据进行分组求和,分组运算等等. 那怎么样使用java的stream优雅的进行分组求和或运算呢? 一.准备 ...

  9. mysql学习笔记——分组排序、分组求和

      在 MySQL8.0 版本之前,是没有类似 Oracle.SQLserver.postgresql 等数据库中像 "select 窗口函数 over (partition by 用于分组 ...

  10. Java8 Stream 常用简书

    1.forEach(遍历) List<String> strings = Arrays.asList("123", "", "ac&quo ...

最新文章

  1. svd奇异值分解_SVD(奇异值分解)到底在干什么
  2. 【Python基础】手把手教你数据可视化!(附实例讲解)
  3. Camelot:从pdf中提取表格数据
  4. CentOS 7.4下使用yum安装MySQL5.7.20 最简单的
  5. web service design time table
  6. 操作系统 --- 使用套接字进行网络通信
  7. jedis使用 api_通过Jedis API使用排序集
  8. 拟真机器人拯救者怎么来_笔点聊科技 篇九:3499起、卷土重来?理性聊聊刚发布的联想拯救者手机Pro...
  9. python列表数据类型一致_python自学——数据类型之列表
  10. c# 访问hbase_大数据技术之C#通过Thrift连接查询HBase主要方法总结
  11. mockwebserver java_在Java中使用WireMock和SOAP Web服务
  12. 抽离css以及公共js
  13. NLP对放射科医生的评价
  14. Linux文件的颜色意义
  15. 【模拟电路仿真】LM324加法器电路(激励源与正弦信号源的使用)
  16. YSJ_FSM状态机软件框架分析
  17. 深度学习--综述前言
  18. Android MMKV
  19. AWS 服务器登录和配置
  20. Linux 根目录爆满 解决

热门文章

  1. 学习笔记整理:Photoshop软件应用-基础-图像选择
  2. CentOS添加管理员账号
  3. learning python in the hard way习题6~10的附加题练习
  4. byte[]数组转String中文乱码
  5. 【观察】星环科技“七剑下天山”,做数据世界超高速引擎
  6. 工作中如果一直被领导忽略,你会怎么办?
  7. java使用环信信息推送,环信推送详解
  8. 华为云桌面,带你见识不一样的系统桌面
  9. 问题:控制台报错style-helper.mjs?d002:125 Uncaught (in promise) TypeError: Cannot read properties
  10. 去掉最高分和最低分的平均分trimmean,计算频率最高的那个数即众数mode.sngl,判断数据是否重复