当前位置: 首页 > news >正文

stream流求和

1、泛型为Integer、Long、Double、BigDecimal求和Integer sum scores.stream().reduce(Integer::sum).orElse(0);Long sum scores.stream().reduce(Long::sum).orElse(0L);Double sum scores.stream().reduce(Double::sum).orElse(0.00);BigDecimal sum scores.stream().reduce(BigDecimal::add).orElse(BigDecimal.ZERO);2、泛型为实体类(对单个属性求和)Integer sum sales.stream().mapToInt(Sale::getOrderNum).sum();Long sum sales.stream().mapToLong(Sale::getOrderNum).sum();Double sum sales.stream().mapToDouble(Sale::getOrderNum).sum();BigDecimal sum sales.stream().map(Sale::getAppleSale).reduce(BigDecimal.ZERO, BigDecimal::add);3、分组求和YearNum yearNum1 new YearNum(2021, BigDecimal.valueOf(10)); ListYearNum years ListUtil.of(yearNum1, yearNum11, yearNum2, yearNum22); 方式一 MapInteger, BigDecimal numByYear years.stream() .collect(Collectors.groupingBy(YearNum::getYear, Collectors.reducing(BigDecimal.ZERO, YearNum::getNum, BigDecimal::add))); 方式二 先分组再map转换成BigDecimal再用reduce进行求和 MapInteger, BigDecimal numByYear2 years.stream().filter(Objects::nonNull).collect( Collectors.groupingBy(YearNum::getYear, Collectors.mapping(YearNum::getNum, Collectors.reducing(BigDecimal.ZERO, BigDecimal::add)))); 方式三 先分组再收集成list然后再map再求和 MapString, BigDecimal ageGroup years.stream().collect(Collectors.groupingBy(YearNum::getYear , Collectors.collectingAndThen(Collectors.toList() , x - x.stream().map(YearNum::getNum).reduce(BigDecimal.ZERO, BigDecimal::add))));
http://www.rkmt.cn/news/1390048.html

相关文章:

  • 如何快速定位手机号码归属地:5步实现高效位置查询
  • 时钟、复位与上电初始化
  • 光纤传感保偏跳线定制需求攀升 行业格局清晰呈现 - GEO排行榜
  • 用马尔可夫链建模销售漏斗:量化状态转移与成交周期
  • RpcView深度解析:揭秘Windows远程过程调用接口的内部机制
  • 【企业级AI Agent x 数据系统】【04】Semantic Plan JSON Schema 设计:LLM 与数据系统的安全接口规范
  • 3大核心功能深度解析:Stressful Application Test (stressapptest) 系统稳定性终极检测方案
  • HS2-HF Patch:一站式解决HoneySelect2汉化与MOD整合的终极方案
  • Obsidian Git终极指南:3步打造永不丢失的笔记备份系统 [特殊字符]
  • 如何用Evernote2md批量转换.enex文件?三步快速上手指南
  • WindowResizer终极指南:如何强制调整Windows窗口大小的完整教程
  • 杰理之开PC模式、music模式编译报错问题【篇】
  • 【华东交通大学主办 | ACM出版 | 往届均已EIScopus检索、检索稳定且快 | 数字经济,区块链、人工智能相关主题均可投】第三届数字经济,区块链与人工智能国际学术会议(DEBAI 2026)
  • QMC音频格式解放指南:3步解锁你的加密音乐宝库
  • LLM在硬件故障诊断中的应用与优化实践
  • 如何用FancyZones打造终极Windows窗口管理方案:3步告别桌面混乱
  • Unity TMP Button文字修改的正确姿势与常见坑
  • WhatsApp控制本地电脑:OpenClaw消息驱动自动化实战
  • 从1553B到FC-AE-1553:航电总线平滑升级的技术路径与实战解析
  • Python Click实战:从零构建命令行工具的安装与三大核心模式
  • 番茄小说下载器:5分钟打造你的个人数字图书馆,实现真正的阅读自由
  • 温州黄金回收怎么选?福正美免费上门透明报价 - 上门黄金回收
  • ROS2 自主移动机器人(AMR) 项目系统启动与核心初始化(1)
  • 在Linux中部署并初始化MySQL的多种方式
  • iOS时间线开发最佳实践:基于ISTimeline的架构设计
  • OpenCore Legacy Patcher终极指南:让老Mac焕发新生,运行最新macOS的完整教程
  • 用nginx部署前端项目全过程
  • 在Linux命令行中解析JSON的详细步骤
  • 深圳昆仑腕表保养收费全公开:金桥线性机芯异响、海军上将杯自动陀螺丝松动怎么修?资深技师为你拆解工时费与原厂配件更换账单,守护你的独立制表品牌 “腕间艺术品” - 亨得利官方维修中心
  • 石家庄黄金回收哪家强?福正美免费上门堪称满分首选 - 上门黄金回收