JAVA8 常用Stram处理方法

server/2024/10/18 8:36:25/

JAVA8 常用Stram处理方法

  • 排序
  • 排序对象集合属性一升序 属性二降序
    • List转Map
    • List分组
    • 求和
    • 提取字符串
    • 根据属性去重
    • 分组排序
    • 求和

排序


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();

http://www.ppmy.cn/server/49782.html

相关文章

分片表属性的查询

select tabinfo.表名,f.partition 分区名,tabinfo.存储空间,tabinfo.段数量,tabinfo.分配总数,tabinfo.已用数量,tabinfo.行长,tabinfo.行数 from (select a.tabname 表名, c.name 存储空间,b.nextns 段数量,b.nptotal 分配总数,b.npused 已用数量,b.rowsize 行长,b.nrows 行数…

Linux C编译器从零开发三

AST语法树 BNF抽象 expr equality equality relational ("" relational | "!" relational)* relational add ("<" add | "<" add | ">" add | ">" add)* add mul ("" …

Oracle 19C 数据库表被误删除的模拟恢复

Oracle 19C 数据库表被误删除的模拟恢复操作 1、模拟创建表用于恢复测试 sqlplus zzh/zzh SQL> create table obj_tb tablespace users as select * from dba_objects; Table created. SQL> select count(*) from obj_tb; COUNT(*) ---------- 72373 2、记录当前…

SGPT论文阅读笔记

这是篇想要用GPT来提取sentence embedding的工作&#xff0c;提出了两个框架&#xff0c;一个是SGPT-BE&#xff0c;一个是SGPT-CE&#xff0c;分别代表了Bi-Encoder setting和Cross-Encoder setting。CE的意思是在做阅读理解任务时&#xff0c;document和query是一起送进去&am…

AI工具对音乐的影响

AI工具对音乐的影响是深远且多方面的&#xff0c;以下是对其影响的清晰归纳和分点表示&#xff1a; 一、音乐创作方面的影响 音乐生成&#xff1a; AI能够通过深度学习算法分析大量的音乐作品&#xff0c;并生成新的音乐作品。例如&#xff0c;OpenAI的GPT-3模型可以根据输入…

可以把 FolkMQ 内嵌到 SpringBoot3 项目里(可内嵌的消息中间件)

之前发了《把 FolkMQ 内嵌到 SpringBoot2 项目里&#xff08;比如 “诺依” 啊&#xff09;》。有人说都淘态了&#xff0c;有什么好内嵌的。。。所以再发个 SpringBoot3 FolkMQ 是一个 “纯血国产” 的消息中间件。支持内嵌、单机、集群、多重集群等多种部署方式。 内嵌版&am…

docker 中 File Sharing 和Volumes 的区别

在 Docker 中&#xff0c;File Sharing 和 Volumes 都涉及到将文件和目录从主机系统映射到容器中&#xff0c;但它们的用途和实现方式有一些重要的区别&#xff1a; 一、简介 File Sharing 是 Docker Desktop 在 Windows 和 macOS 上的一项功能&#xff0c;允许你将主机文件系…

【电机控制】FOC算法验证步骤——PWM、ADC

【电机控制】FOC算法验证步骤 文章目录 前言一、PWM——不接电机1、PWMA-H-50%2、PWMB-H-25%3、PWMC-H-0%4、PWMA-L-50%5、PWMB-L-75%6、PWMC-L-100% 二、ADC——不接电机1.电流零点稳定性、ADC读取的OFFSET2.电流钳准备3.运放电路分析1.电路OFFSET2.AOP3.采样电路的采样值范围…