一、BigDecimal类型求和

对类的某一字段求和

 BigDecimal sum = userList.stream().filter(Objects::nonNull).map(User::getMoney).reduce(BigDecimal.ZERO, BigDecimal::add);

分组求和

按年分组求和

// 数据
YearNum yearNum1 = new YearNum(2021, BigDecimal.valueOf(10));
YearNum yearNum2 = new YearNum(2021, BigDecimal.valueOf(10));
YearNum yearNum3 = new YearNum(2022, BigDecimal.valueOf(20));
List<YearNum> years = ListUtil.of(yearNum1, yearNum2, yearNum3);// 第一种
Map<Integer, BigDecimal> numByYear = years.stream().collect(Collectors.groupingBy(YearNum::getYear,Collectors.reducing(BigDecimal.ZERO, YearNum::getNum, BigDecimal::add)));// 第二种
Map<Integer, BigDecimal> numByYear2 = years.stream().filter(Objects::nonNull).collect(Collectors.groupingBy(YearNum::getYear, Collectors.mapping(YearNum::getNum, Collectors.reducing(BigDecimal.ZERO,BigDecimal::add))));

二、int、double、long类型

1、steam().reduce()

// 基本类型的求和
data.stream().reduce(0, Integer::sum);
// 对象的一个属性求和
Long reduce = userList.stream().filter(Objects::nonNull).map(User::getId).reduce(0L, Long::sum);

2、Collectors.summarizingInt()

DoubleSummaryStatistics collect = userList.stream().collect(Collectors.summarizingDouble(User::getId));double sum = collect.getSum();

JAVA 用Steam求和相关推荐

  1. Java中Steam流的用法及使用备忘

    文章目录 Java中Steam流的用法及使用备忘 一. 流的常用创建方法 1-1 使用Collection下的 stream() 和 parallelStream() 方法 1-2 使用Arrays ...

  2. Java,Steam控制器和我

    您是否想过是否可以将现有的东西用于新的东西? 我看了一些所谓的"蒸汽控制器"(从现在开始为SC)的镜头,并看着我的游戏手柄. 问我自己是否有可能以类似蒸汽的方式使用它,我找到了一些 ...

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

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

  4. java毕业设计Steam游戏平台系统mybatis+源码+调试部署+系统+数据库+lw

    java毕业设计Steam游戏平台系统mybatis+源码+调试部署+系统+数据库+lw java毕业设计Steam游戏平台系统mybatis+源码+调试部署+系统+数据库+lw 本源码技术栈: 项目 ...

  5. Java未知个数求和,数字求和

    Java未知个数求和,数字求和 1. 从键盘输入n个数,并完成累加求和输出. 提示: n为输入值.使用Scanner类的nextXXX()方法. 解答: 第一种:n 从键盘输入 import java ...

  6. 【Java 8 新特性】Java 8 BigDecimal求和

    这里写自定义目录标题 带有 Lambda 表达式的 BigDecimal 求和 List 中 BigDecimal 求和 Array 中 BigDecimal 求和 Map 中 BigDecimal ...

  7. 【Java】数组求和

    [Java]数组求和 需求 键盘录入5个整数,存储到数组中,并对数组求和 代码 package com.cxl.demo24; /* 数组求和 需求:键盘录入5个整数,存储到数组中,并对数组求和*/i ...

  8. java多个数求和_Java:多个数求和

    标签: 设计思想: 先定义int n,定义输入数的个数,输入一个新建的动态数组,输入数字存入动态数组中,函数转换并求和,最后输出. 程序流程图: 源程序代码: package com; import  ...

  9. java 数组怎么求和_java数组排序,并将数组内的数据求和

    java数据编列并求和,江湖我狼哥,人狠话不多,直接上代码! import java.util.Arrays; public class Intarry { public static void ma ...

最新文章

  1. 读博士所面临问题的解决对策
  2. SEO网络优化三招教你高质量外链的技巧
  3. php调用shell执行scp,Shell中使用scp命令实现文件上传代码
  4. Activiti学习(二)数据表结构
  5. hdu 1250 Hat's Fibonacci
  6. Java Integer 常量池
  7. 福布斯发布美国富豪榜:贝索斯居首 盖茨跌出前二
  8. [刘阳Java]_CSS数字分页效果
  9. 公共方法之运算符,len,del,max,min,range,enumerate
  10. 【李宏毅2020 ML/DL】P81 Generative Adversarial Network | Intelligent Photo Editing
  11. 852 -山脉阵列中的峰值指数
  12. PCB名詞解釋:通孔、盲孔、埋孔(转载)
  13. Android 学习之Fragment生命周期
  14. mysql_day02创建数据表
  15. Windows程序设计与C语言的主要区别是什么?
  16. 编译原理第三版陈火旺第二章答案
  17. 心电信号越界怎么回事_心电信号基础
  18. Web漏洞之CORS与JSONP跨域漏洞
  19. 由矩阵运算来看初等矩阵的左乘右乘所影响到矩阵的行列变换的本质
  20. markdown中关于空格缩进的问题

热门文章

  1. pr如何跳到关键帧_PR关键帧
  2. C#将GridView中的数据导出为excel文件
  3. 程序、技术、潮流与时尚
  4. Python: PS 滤镜-- 极坐标变换到平面坐标
  5. 字符串匹配算法BF,BM,KMP
  6. Android手机和平板资源文件,如何从Android手机和平板电脑中恢复已删除的文件
  7. vue官方示例__todomvc总结
  8. 控制中心可录屏下载_ios11的录屏功能在哪?设置中添加控制中心即可显示!
  9. Qt保存和恢复页面布局
  10. 关于android输入法