list集合中的元素排序

目录

一、利用lambda对list集合排序

二、对对象集合操作,其实与基本类型集合操作类似

三、对 JSONArray 排序


一、利用lambda对list集合排序

先定义一个集合

List<Integer> list = new ArrayList<>();
list.add(1);
list.add(5);
list.add(4);
list.add(3);
list.add(7);

1、升序排序

list.sort((a,b)->a.compareTo(b));或者
list.sort(Comparator.comparing(a->a));
或者
list.sort((a,b)->a-b);
或者
// 2、匿名内部类
list.sort(new Comparator<Integer>() {@Overridepublic int compare(Integer o1, Integer o2) {return o1-o2;}
});

2、降序

(1): list.sort((a,b)->b-a);(2):匿名内部类list.sort(new Comparator<Integer>() {@Overridepublic int compare(Integer o1, Integer o2) {return o2-o1;}});

二、对对象集合操作,其实与基本类型集合操作类似

List<User> list1 = new ArrayList<User>();User user = new User("张三", "15", "男");User user1 = new User("李四", "10", "男");list1.add(user);list1.add(user1);//1、年龄升序list1.sort((a,b) -> a.getAgeFunc().compareTo(b.getAgeFunc()));//2、姓名降序排列list1.sort(Comparator.comparing(User::getName).reversed());//等价于 2list1.sort(Comparator.comparing(a->((User)a).getAge()).reversed());//3、先按性别排,如果年龄相同,再按年龄排序list1.sort(Comparator.comparing(User::getSex).reversed().thenComparing(User::getAge));

三、对 JSONArray 排序

定义一个json数组 resultArray
JSONArray resultArray = new JSONArray();
JSONObject result = new JSONObject();
result.put("name","张三");
result.put("age","15");
result.put("data","201812130451");
resultArray.add(result);
//根据姓名的倒序排序
resultArray.sort(Comparator.comparing(obj -> ((JSONObject) obj).getString("name")).reversed());
//根据时间倒序排序
resultArray.sort(Comparator.comparing(obj -> ((JSONObject) obj).getData("data")).reversed());
//根据年龄升序排序
resultArray.sort(Comparator.comparing(obj -> ((JSONObject) obj).getInteger("age")));

**注意:**reversed()函数的意思是将数组颠倒。其用法常见于字符串处理中,将字符串颠倒
如:

String str = "abcd";
StringBuffer sb = new StringBuffer(str);
sb.reverse();
System.out.println(str);
System.out.println(sb.toString());

控制台输出

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

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

相关文章

四川众佰诚:抖音开店到底靠谱不

随着互联网的发展&#xff0c;越来越多的人开始尝试在网上开店。抖音作为一款短视频平台&#xff0c;近年来也逐渐成为了电商的新战场。那么&#xff0c;抖音开店到底靠谱不呢? 首先&#xff0c;我们需要了解抖音的用户群体。抖音的用户主要是年轻人&#xff0c;尤其是90后和0…

新框架Nue.js以及如何搭建框架(详细介绍)

先把官方文档已经github放在这里 链接: Nue官方文档&#x1f448;点击即可跳转 链接: Nue官方github&#x1f448;点击即可跳转 入门 NueJS是一个非常小&#xff08;2.3kb minzipped&#xff09;的JavaScript库&#xff0c;用于构建用户界面。它是Nue工具集的核心。它就像Vue.j…

Python爬虫收集今日热榜数据:聚合全网热点排行榜

pip install websocket-client 废话不多说数据展示&#xff1a; 代码&#xff1a; 创建工作簿和工作表 # 创建工作簿和工作表 workbook openpyxl.Workbook() sheet workbook.active sheet.title 实时热榜 设置标题行 titles ["序号", "平台", &qu…

洗地新天花板:CEYEE希亦顶配机皇T800 Pro洗地机多点发力上市开售

2023年11月1日&#xff0c;CEYEE希亦正式发布高端清洁产品无线洗地机希亦T800 PRO&#xff0c;创新性地实现了洗地场景深度清洁体验的新突破&#xff0c;彻底解决了清洁行业20多年来技术发展难题&#xff0c;颠覆式引领行业向水汽混动时代迈进&#xff0c;推动了整个市场向“智…

微信小程序:两层循环的练习,两层循环显示循环图片大图(大图显示、多层循环)

效果 代码分析 外层循环 外层循环的框架 <view wx:for"{{info}}" wx:key"index"></view> wx:for"{{info}}"&#xff1a;这里wx:for指令用于指定要遍历的数据源&#xff0c;即info数组。当遍历开始时&#xff0c;会依次将数组中的每…

第06章 索引的数据结构

第06章 索引的数据结构 1. 索引及其优缺点 1.1 索引概述 MySQL官方对索引的定义为&#xff1a;索引&#xff08;Index&#xff09;是帮助MySQL高效获取数据的数据结构。 **索引的本质&#xff1a;**索引是数据结构。你可以简单理解为“排好序的快速查找数据结构”&#xff…

斯坦福发布 最新 GPT 模型排行榜 AlpacaEval【AI工具免费使用】

文章目录 &#x1f4cc;提炼❓什么是 AlpacaEval&#x1f50e;AlpacaEval 排行榜 包含的 测试 模型 和数据&#x1f4af;在不同的测试集上各个大模型的能力评分&#x1f680;AlpacaEval Leaderboard 大模型的能力综合评分&#x1f4bc; 普遍国内白领 如何快速应用 大模型&#…

万物摩尔定律:人工智能技术的快速迭代将使人类万劫不复?

第一次工业革命&#xff1a;蒸汽机时代&#xff1b; 第二次工业革命&#xff1a;电气化时代&#xff1b; 第三次工业革命&#xff1a;信息化时代&#xff1b; 第四次工业革命&#xff1a;智能化革命。这一场革命正在上演&#xff0c;是人工智能&#xff08;AI&#xff09;带…

甄知燕千云+汉得AIGC中台,智能化驱动员工与客户服务新生产力!

2023年是AIGC的爆发之年&#xff0c;随着AI进入大模型时代&#xff0c;AIGC也成为当下最热门的新型生产力工具&#xff0c;每个业务和每个产品都值得用AI重做一遍也越来越成为共识。如何快速使用AIGC来使AI的能力场景化落地&#xff0c;真正做到业务创新的AI赋能&#xff0c;已…

基于松鼠算法的无人机航迹规划-附代码

基于松鼠算法的无人机航迹规划 文章目录 基于松鼠算法的无人机航迹规划1.松鼠搜索算法2.无人机飞行环境建模3.无人机航迹规划建模4.实验结果4.1地图创建4.2 航迹规划 5.参考文献6.Matlab代码 摘要&#xff1a;本文主要介绍利用松鼠算法来优化无人机航迹规划。 1.松鼠搜索算法 …

大厂面试题-JVM为什么使用元空间替换了永久代?

目录 面试解析 问题答案 面试解析 我们都知道Java8以及以后的版本中&#xff0c;JVM运行时数据区的结构都在慢慢调整和优化。但实际上这些变化&#xff0c;对于业务开发的小伙伴来说&#xff0c;没有任何影响。 因此我可以说&#xff0c;99%的人都回答不出这个问题。 但是…

Open3D(C++) 迭代最小二乘拟合平面(间接平差法)

目录 一、算法原理二、代码实现三、结果展示本文由CSDN点云侠原创,爬虫网站自重 一、算法原理 见:《误差理论与测量平差基础》第六章 二、代码实现 #include <iostream> #include<Open3D\Open3D.h>int main