JAVA8 常用Stram处理方法

JAVA8 常用Stram处理方法

排序

复制代码
List<MachineOrderResponse.BackRecord> noSList = ss.stream().sorted(Comparator.comparing(MachineOrderResponse.BackRecord::getTime).reversed()).collect(Collectors.toList());

排序对象集合属性一升序 属性二降序

复制代码
implicationHolderTableTemplateDtoList.sort(Comparator.comparing(ImplicationHolderTableTemplateDto::getaBDistinguish).thenComparing(ImplicationHolderTableTemplateDto::getAttendCnt, Comparator.reverseOrder()));

List转Map

复制代码
Map<BigDecimal, String> collect = probabilitiesList.stream().collect(Collectors.toMap(ll -> BigDecimal.valueOf(ll.getADouble()), PlayResponse.Probability::getUuid));

List分组

复制代码
Map<String, List<MachineOrderResponse.GoodsOrder>> goodMap = leaveList.stream().collect(Collectors.groupingBy(MachineOrderResponse.GoodsOrder::getProduct_id));

求和

复制代码
int totalGoodsCount = goodsLists.stream().mapToInt(PostageSettingRequest.GoodsList::getGoodsListCount).sum();

提取字符串

复制代码
String goodsName = orderGoodsList.stream().map(goods -> goods.getGoodsName() + " X " + goods.getOrderGoodsCount())
        .collect(Collectors.joining(", "));

根据属性去重

复制代码
mandataryInfoTableList = mandataryInfoTableList.stream().collect(
                collectingAndThen(
                        toCollection(() -> new TreeSet<>(Comparator.comparing(mandataryInfoTable -> mandataryInfoTable.getCertificateId() + ";" + mandataryInfoTable.getHolderName()))), ArrayList::new));

分组排序

复制代码
Map<String, List<FuzzyTrialCalculationDto>> groupMap = fuzzyTrialCalculationDtoList.stream()
        .sorted(Comparator.comparingInt(FuzzyTrialCalculationDto::getAlgorithmSort))
        .collect(Collectors.groupingBy(FuzzyTrialCalculationDto::getAlgorithmName, LinkedHashMap::new, Collectors.toList()));

求和

复制代码
int totalAge = peopleList.stream()
                .mapToInt(Person::getAge)
                .sum();
相关推荐
蓝桉柒71 分钟前
下载idea,用idea输入一个程序
java·ide·intellij-idea
蓝桉柒729 分钟前
java字面量,变量
java
典典分享指南33 分钟前
一品牌多产品线的 GEO 内容矩阵:从策略到落地
java·c#·bash·symfony
用户094248568031 小时前
第3章:OpenJDK从源码到字节码——Class 文件与 javac 管线
java·jvm
azhou的代码园2 小时前
基于RFM模型的中小型企业客户管理系统
java·人工智能·spring boot·毕业设计
君顾12 小时前
酒吧点餐小程序系统开发实战:从架构设计到上线全流程指南
java·开发语言·酒吧
子非鱼a2 小时前
【WEB】[SWPU2019]Web1
java·服务器·前端
花生了什么事o2 小时前
自定义Spring Boot Starter全流程
java·spring boot·后端
torpidcat3 小时前
ruoyi-vue-pro 若依芋道 java springboot +mybatis 生日查询相关
java·vue.js·spring boot
AC赳赳老秦3 小时前
文旅市场公开数据分析:基于 OpenClaw 采集景区客流与门票公示数据,生成区域文旅热度监测报告
java·c语言·python·php·symfony·deepseek·openclaw