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();
相关推荐
超梦dasgg3 分钟前
Dijkstra(迪杰斯特拉)算法详解
java·数据结构·算法
MacroZheng3 分钟前
给Claude Code装上这个超酷的状态栏,瞬间高大上了!
java·人工智能·后端
有梦想的程序星空7 分钟前
【环境配置】IDEA+Scala 项目 JAR 打包异常完整排查指南
java·ide·intellij-idea
小程故事多_8012 分钟前
从初代架构到大模型时代,英伟达GPU底层架构演进与核心逻辑深度解析
java·人工智能·分布式·架构
组合缺一16 分钟前
Solon 热加载与插件热插拔:Debug 模式 × E-Spi × H-Spi 全解析
java·solon·插件·plugin·热插拨
MageGojo17 分钟前
Whois 域名查询 API 接入实战:用一个 GET 请求获取域名注册信息
java·git·github
MandalaO_O17 分钟前
SpringMVC:框架搭建、核心配置与前后端交
java
jerryinwuhan18 分钟前
marker BiBERTo解释
java·前端·人工智能
在繁华处26 分钟前
Java从零到熟练(八):泛型与注解
java·开发语言·python
半夜修仙35 分钟前
RabbitMQ入门概述
java·rabbitmq·java-rabbitmq