stream 排序

stream常用写法

// 实体类
public static class User {private String id;private String name;private String value;private String year;
}

1.List转Map

List<User> list = userMapper.selectAll(param);
List 转 MapMap<String, String> idMap = list.stream().collect(Collectors.toMap(x -> x.getId(), y -> y.getName() + "_" + y.getValue(), (e1,e2) -> e1, LinkedHashMap::new));// 以 id为Map key
Map<String, List<User>> idMap = list.stream().collect(Collectors.groupingBy(User::getId));// 以 id_name 为Map key
Map<String, List<User>> idMap = list.stream().collect(Collectors.groupingBy(x -> x.getId + "_" + x.getName));

2.Map排序

List<User> list = userMapper.selectAll(param);
// List 转 Map
Map<String, List<User>> idMap = list.stream().collect(Collectors.groupingBy(User::getId));
// 排序方式1 Map 根据 id 从小到大排序(降序修改(e1, e2) e1 e2 的位置换一换即可)
Map<String, List<User>> sort1IdMap = idMap.entrySet().stream().sorted((e1, e2) ->Integer.compare(Integer.parseInt(e1.getKey()),         Integer.parseInt(e2.getKey()))).collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue, (e1, e2) -> e1, LinkedHashMap::new));// 排序方式2 
Map<String, List<User>> sort2IdMap = idMap.entrySet().stream().sorted(Map.Entry.<String,List<User>>comparingByKey().reversed()).forEachOrdered(x -> sortMap.put(x.getKey(),x.getValue()));Map<String, List<User>> sort22IdMap = idMap.entrySet().stream().sorted(Map.Entry.comparingByKey()).forEachOrdered(x -> sortMap.put(x.getKey(),x.getValue()));//进阶// Map 根据 另一个 Map 排序
Map<String, Integer> initMap = new LinkedHashMap<>();
initMap.put("张三",3);
initMap.put("李四",2);
initMap.put("王五",1);// initMap 根据value排序
Map<Str

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/11868.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

微软发布研究报告:75%的知识工作者在工作中使用AI

“人工智能正在使整个劳动力的专业知识民主化&#xff0c;我们的最新研究强调了每个组织都有机会应用这项技术来推动更好的决策、协作&#xff0c;并最终实现业务成果。” ——Microsoft董事长兼首席执行官萨蒂亚纳德拉&#xff08;Satya Nadella&#xff09; 一年前&#xff0…

pycharm连接远程服务器,解决终端出现乱码问题

在终端输入命令时会有乱码问题&#xff0c;是字体编码设置错误。 根据上述步骤&#xff0c;设置完成后重启就可以了。

重生之霸总的项目管理之道

在都市的摩天大楼之间&#xff0c;顾辰&#xff0c;这位被人们称为“霸总”的项目经理&#xff0c;以他独特的魅力和高效的项目管理方式&#xff0c;成为了行业内的传奇人物。他并非传统意义上的冷酷霸总&#xff0c;而是一个懂得运用现代项目管理工具&#xff0c;带领团队一次…

【Golang】在 Go 语言中使用 Otto 执行 JavaScript 代码

文章目录 前言一、Otto 解释二、代码实现四、总结 前言 在很多应用场景下&#xff0c;我们可能需要在 Go 语言中执行 JavaScript 代码&#xff0c;例如在服务器端运行一些客户端的脚本&#xff0c;或者执行一些动态生成的脚本。Otto 是一个由 Go 语言编写的 JavaScript 解释器…

MySQL基础指南:从入门到精通

MySQL基础指南&#xff1a;从入门到精通 MySQL是一个流行的开源关系型数据库管理系统&#xff0c;被广泛用于Web应用程序和服务器端开发。本文将从MySQL的基本概念开始&#xff0c;逐步介绍MySQL的安装、常用操作、数据类型、查询语句等内容&#xff0c;帮助你快速入门MySQL数…

地下车库导航地图怎么做?停车场地图绘制软件哪个好?

上海懒图科技以先进技术和丰富的行业服务经验为用户提供停车场景下的全流程服务平台&#xff0c;用户基于平台可自主快速绘制酷炫的停车场地图&#xff0c;通过提供完善的停车场应用功能集和扩展API服务包&#xff0c;可以方便地实现电子地图服务于您的各类停车场应用中&#x…

利用香港多IP服务器进行大数据分析的潜在优势?

利用香港多IP服务器进行大数据分析的潜在优势? 在当今数据驱动的时代&#xff0c;大数据分析已经成为企业获取竞争优势的不二选择。而香港作为一个拥有世界级通信基础设施的城市&#xff0c;提供了理想的环境来部署多IP服务器&#xff0c;从而为大数据分析提供了独特的优势。…

答辩PPT快速生成工具有哪些?笔灵AI答辩PPT,一键搞定

很多快要毕业的同学在做答辩PPT的时候总是感觉毫无思路&#xff0c;一窍不通。但这并不是你们的错&#xff0c;对于平时没接触过相关方面&#xff0c;第一次搞答辩PPT的人来说&#xff0c;这是很正常的一件事。一个好的答辩PPT可以根据以下分为以下几部分来写。 1.研究的背景和…

python 基础(笔记)

文章目录 1. 环境安装2. 第一个程序 hello word3. 注释4. 变量4.1 变量声明4.2 命名规则4.3 命名规范 5. 运算符5.1 算术运算符5.2 赋值运算符5.3 比较运算符 6. 数据类型6.1 数据类型6.2 数据类型的转换 7. 字符串操作7.1 字符串定义的几种方式7.2 字符串拼接7.3 字符串格式化…

CentOS-Stream-9配置chfs

在/chfs目录下运行&#xff0c;下载出错&#xff0c;所以换个目录&#xff0c;例如/cute。 mkdir /cute cd /cute wget http://iscute.cn/tar/chfs/3.1/chfs-linux-386-3.1.zip unzip chfs-linux-386-3.1.zip firewall-cmd --add-servicehttp --permanent firewall-cmd --reloa…

蓝桥杯国赛每日一题:地牢大师(BFS)

题目描述&#xff1a; 你现在被困在一个三维地牢中&#xff0c;需要找到最快脱离的出路&#xff01; 地牢由若干个单位立方体组成&#xff0c;其中部分不含岩石障碍可以直接通过&#xff0c;部分包含岩石障碍无法通过。 向北&#xff0c;向南&#xff0c;向东&#xff0c;向…

RS485空调系统到BACnet江森楼宇系统的高效整合攻略

智慧城市的每一栋建筑都在追求更高的能效与更佳的居住体验&#xff0c;而这一切的实现离不开强大且灵活的楼宇自动化系统。其中&#xff0c;协议转换网关作为连接不同设备的纽带&#xff0c;扮演着至关重要的角色。本文将以一个典型的商业综合体为例&#xff0c;揭秘BACnet协议…

【案例】使用Vue实现拖拽课表

效果展示 效果说明 点击左侧的课程并进行拖拽&#xff0c;拖拽到要开设本课程的地方然后松手&#xff0c;即可将本节课设置为当前所拖拽的科目并且背景色为当前科目的背景色&#xff0c;当多次拖拽到同一节课的时候将会实现后者覆盖前者的效果。 效果实现代码 第一步&#x…

机器学习模型评估与优化技巧

机器学习模型的评估与优化是确保模型在实际应用中表现良好的关键步骤。以下是一些常用的评估与优化技巧&#xff0c;旨在提高模型的准确性、鲁棒性和效率。 ### 1. 数据预处理 - **数据清洗**&#xff1a;移除或填充缺失值&#xff0c;处理异常值&#xff0c;确保数据质量。 -…

Peter算法小课堂—序列切割

讲序列切割之前&#xff0c;先来个铺垫 高手集训 题目描述&#xff1a; 课程表里有连续的n天可以供你选择&#xff0c;每天都有专题课程。其中第i天的专题趣味程度为h[i]。假设你选择了其中连续的若干天&#xff0c;从第l天到第r天。那么&#xff0c; 训练效果 h[l]*1 h[…

HTML的使用(上)

文章目录 前言一、HTML是什么&#xff1f;二、使用内容 &#xff08;1&#xff09;换行标记<br>&#xff08;2&#xff09;加粗标记<b> </b>&#xff08;3&#xff09;段落标记<p> </p>&#xff08;4&#xff09;标题标记<h1>~<h6> …

Express框架下搭建GraphQL API

需要先下载apollo-server-express&#xff0c;apollo-server-express是Express框架下&#xff0c;用于构建GraphQL服务的中间件&#xff0c;属于Apollo Server的一部分&#xff1a; npm install apollo-server-express 随后在index.js添加 apollo-server-express包&#xff1…

免杀的基本概念

木马的本质就是shellcode&#xff0c;免杀就是反病毒技术&#xff08;杀毒软件&#xff09;&#xff0c;它指的是一种使病毒木马免于被杀软 查杀的技术&#xff0c;由于免杀技术的涉猎范围非常广&#xff0c;其中包含汇编、逆向工程、系统漏洞&#xff08;C/C&#xff09;等和可…

找不到iutils.dll怎么解决,需要如何修复

iutils.dll 是一个系统级的动态链接库&#xff08;Dynamic Link Library&#xff09;文件&#xff0c;通常与Windows操作系统中的应用程序运行密切相关。动态链接库文件如同一个代码库&#xff0c;存储了多个程序可以共享的功能和指令。iutils.dll具体提供了哪些功能可能依据它…

javascript 实现 阻塞/睡眠/耗时 几秒

有时前端想实现 代码停止几秒再执行后续代码&#xff0c;可能会受到异步执行的困扰。 那下面的方法就可以实现同步阻塞的效果&#xff0c;把阻塞的代码放到blockForThreeSeconds().then(()中即可 //阻塞2秒函数function blockForThreeSeconds() {return new Promise(resolv…