Java实现List自定义排序
废话不多说,直接上代码
import java.util.ArrayList; import java.util.Collections; import java.util.Comparator; import java.util.List; public class User { public static void main(String[] args) { List<User> list = new ArrayList<>(); list.add(new User("张三",18)); list.add(new User("诸葛亮",69)); list.add(new User("孙悟空",500)); list.add(new User("周杰伦",45)); list.add(new User("郭德纲",60)); list.add(new User("秦始皇",5000)); System.out.println("排序前:"); System.out.println(list); Collections.sort(list, new Comparator<User>() { @Override public int compare(User o1, User o2) { int age1 = o1.getAge(); int age2 = o2.getAge(); if (age1 == age2) { return 0; }else { // 从小到大 return age1 > age2 ? 1 : -1 ; // 如果需要从大到小,可以将return的值反过来即可 } } }); System.out.println("排序后:"); System.out.println(list); } private String name; private int age; public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } public User(String name, int age) { super(); this.name = name; this.age = age; } public User() { super(); } @Override public String toString() { return "User [name=" + name + ", age=" + age + "]"; } }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律