//汇总计算 reduce

CxmBiBatchFeeExt ext = new CxmBiBatchFeeExt();
List<DkSaleOrderItem> batchDkSaleOrderDetailVoLst = dkSaleOrderDetailVoMap.get(e);
Optional<DkSaleOrderItem> dkSaleOrderOptional = batchDkSaleOrderDetailVoLst.stream().reduce((sum, var) -> {sum.setSaleAmount(BigDecimalUtil.add(sum.getSaleAmount(), var.getSaleAmount()));sum.setBillFee(BigDecimalUtil.add(sum.getBillFee(), var.getBillFee()));return sum;
});
ext.setBillFee(dkSaleOrderOptional.map(s -> s.getBillFee()).orElse(BigDecimal.ZERO));

//一般循环

dkSaleOrderDetailVoMap.keySet().stream().forEach

//对象集合转list

List<Integer> batchIdLst = dkSaleOrderDetailVoLst.stream().map(e -> e.getBatchId()).distinct().collect(Collectors.toList());

//list转map

Map<Integer, List<DkSaleOrderItem>> dkSaleOrderDetailVoMap = dkSaleOrderDetailVoLst.stream().collect(Collectors.groupingBy(e -> e.getBatchId()));Map<String, String> customGroupMap = customGrouplist.stream().collect(Collectors.toMap(CxmCustomGroup::getCustomerName, CxmCustomGroup::getMergeCustomerName, (k1, k2) -> k1));Map<Integer, Student> map = list.stream().collect(Collectors.toMap(Student::getId, student -> student));

//过滤

List<DkSaleOrderVo> portionPaymentDkSaleOrderVoLst = dkSaleOrderVoLst.stream().filter(e -> e.getOrderStatus().intValue() == OrderConstant.ORDER_STATUS_PORTION_PAYMENT).collect(Collectors.toList());

//排序

if(baseSaleOrderRequestVo.getOrderByClause() == 1) { // 降序tempList = page.stream().sorted(Comparator.comparing(DkSaleOrderVo::getCreditAmount).reversed()).collect(Collectors.toList());page.clear();page.addAll(tempList);} else if(baseSaleOrderRequestVo.getOrderByClause() == 2) { // 升序tempList = page.stream().sorted(Comparator.comparing(DkSaleOrderVo::getCreditAmount)).collect(Collectors.toList());page.clear();page.addAll(tempList);}

//算合计

Optional<BigDecimal> repayAmount = allDkSaleOrderVo.stream().map(DkSaleOrderVo::getPaymentAmount).reduce((vo1, vo2) -> {return BigDecimalUtil.add(vo1, vo2);});searchVo.setRefundAmount(repayAmount.orElse(BigDecimal.ZERO));// 本日还款

java8常用stream相关推荐

  1. Java8的 Stream 流的各种用法

    Java8 的 Stream 流的各种用法 什么是Stream 1. Stream可以由数组或集合创建,对流的操作分为两种 2. Stream的特性 3. Stream可以通过集合数组创建 4. st ...

  2. Java8的Stream API使用(笔记)

    个人转载仅作为笔记使用,如有任何问题可以到原文链接探讨,原文连接为:https://www.cnblogs.com/jimoer/p/10995574.html 前言 这次想介绍一下Java Stre ...

  3. Java8的Stream API使用

    前言 这次想介绍一下Java Stream的API使用,最近在做一个新的项目,然后终于可以从老项目的祖传代码坑里跳出来了.项目用公司自己的框架搭建完成后,我就想着把JDK版本也升级一下吧(之前的项目, ...

  4. JDK1.8,Java8常用新特性

    A.Lamdba表达式 1.Java8概述 Java8,也就是jdk1.8,是意义深远的一个新版本 是Java5之后一个大的版本升级,让Java语言和库仿佛获得了新生 新特性包含: a.随着大数据的兴 ...

  5. Java8中Stream流对集合操作

    java8中Stream流引入函数式编程思想,主要配合各种接口.lambda表达式.方法引用等方式,为集合的遍历.过滤.映射等提供非常"优雅"的操作方式. Student.java ...

  6. Java8采用stream、parallelStream迭代的区别

    Java8采用stream.parallelStream迭代的区别 我们都知道在Java 8 API添加了一个新的抽象称为流Stream,可以让你以一种声明的方式处理数据.Stream 使用一种类似用 ...

  7. 玩转Java8的 Stream 之函数式接口

    作者:litesky www.jianshu.com/p/2338cabc59e1 函数式接口是伴随着Stream的诞生而出现的,Java8Stream 作为函数式编程的一种具体实现,开发者无需关注怎 ...

  8. java8的sorted,Java8排序stream.sorted()

    使用Java8排序stream.sorted() sorted-example 国外对Java8一系列总结的不错, 翻译过来给你们共享 这篇文章将会讲解Java 8 Stream sorted()示例 ...

  9. Java8的 stream对list数据去重,使用filter()过滤列表,list转map,joining使用,统计分组合并

    使用 Java8的 stream对list数据去重,使用filter()过滤列表,list转map 1.去除List中重复的String List unique = list.stream().dis ...

最新文章

  1. java 命名代码检查-注解处理器
  2. c语言case可以判断多个条件吗,case 多个条件
  3. Tesseract-OCR图片识别为文字
  4. ZZ_MODIFIED_GEEBINF 不可用
  5. java枚举的线程安全及序列化
  6. 浏览器启动__chrome浏览器
  7. CnBlogs博文demo演示技巧比较:jsfiddle完胜
  8. 非广告--推荐Dynatrace:树立数字化性能管理DPM标杆
  9. android -- 蓝牙 bluetooth (四)OPP文件传输
  10. 用博客记录成长的历程
  11. Python基础知识- 列表
  12. linux 查看上一级目录,du 使用详解 查看一级目录大小
  13. 高端大气上档次!10个精美的国外HTML5网站欣赏
  14. 智能电子后视镜MFC01-LCD通用版 使用说明与简单故障排查
  15. 外媒起底FF 前员工:只要贾跃亭在 就造不出车 | 行业
  16. 20V,30V,40V输入的LDO稳压芯片
  17. 托管调试助手“LoaderLock”在XXX中检测到故障。其他信息:正尝试在OS加载程序锁内执行托管代码。不要尝试在DllMain或映像初始化函数内运行托管代码,这样做会导致应用程序挂起。
  18. 2022世界杯神预测有哪个最神!最后一个富而喜悦到底是谁?
  19. python人物抠图算法_比PS还好用!Python 20行代码批量抠图
  20. HTML CSS 网页设计作业「体育小站」(梅西足球 6页 )

热门文章

  1. CSS Image Rollovers翻转效果Image Sprites图片精灵
  2. 网内病毒问题快速排除集锦
  3. 【iOS-cocos2d-X 游戏开发之四】Cocos2dX创建Android NDK新项目并编译导入Eclipse中正常运行!...
  4. Openssl asn1parse命令
  5. vCenter的安装与部署
  6. ToString() 会发生装箱吗?
  7. 去掉excel保存文件时自动生成备份
  8. MATLAB信号包络的提取
  9. matlab的输出(命令窗口、fprint函数、sprintf函数、disp函数)
  10. 无法连接共享打印机处理办法