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();
相关推荐
阿达King哥8 分钟前
在Windows11下编译openjdk 21
java·jvm
shark-chili29 分钟前
从操作系统底层浅谈程序栈的高效性
java
不知疲倦的仄仄1 小时前
第二天:深入理解 Selector:单线程高效管理多个 Channel
java·nio
期待のcode1 小时前
Java虚拟机栈
java·开发语言·jvm
珂朵莉MM1 小时前
全球校园人工智能算法精英大赛-产业命题赛-算法巅峰赛 2025年度画像
java·人工智能·算法·机器人
芒克芒克1 小时前
本地部署SpringBoot项目
java·spring boot·spring
cute_ming1 小时前
关于基于nodeMap重构DOM的最佳实践
java·javascript·重构
sww_10261 小时前
Netty原理分析
java·网络
小突突突1 小时前
Spring框架中的单例bean是线程安全的吗?
java·后端·spring
Mr.Entropy2 小时前
JdbcTemplate 性能好,但 Hibernate 生产力高。 如何选择?
java·后端·hibernate