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();
相关推荐
小羊没烦恼!4 小时前
微服务化的基石——持续集成
java·大数据·word·powerpoint·.net
俊昭喜喜里5 小时前
java中的继承和多态的区别
java
小羊没烦恼!5 小时前
初探性能优化——2个月到4小时的性能提升
java·开发语言·windows·算法·c#
譕痕5 小时前
JSONObject与JSONArray封装数据格式区别
java·json
胡写代码5 小时前
别再前后端各写一套表单校验了
java·后端
小鱼能吃糖5 小时前
缺陷修复总览 · mall电商项目:5类缺陷,1个病根,4个业务域
java·电商
此时不提桶,更待何时5 小时前
01-06-A-JVM排查实战详解
java·jvm
vipxieliang6 小时前
ValidX 在 DDD 领域驱动设计中的实践
java·spring boot
ba_pi6 小时前
mysql 查询所有表名并授权
java
ProcessOn官方账号6 小时前
java函数式编程--入门基础
java·编程·函数式编程