Java如何实现List自定义排序
作者:崔笑颜 时间:2021-07-03 06:09:15
实体类
package com.whty.entity;
public class User {
private int id;
private String name;
private int age;
public User(int id, String name, int age) {
super();
this.id = id;
this.name = name;
this.age = age;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
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;
}
@Override
public String toString() {
return "User [id=" + id + ", name=" + name + ", age=" + age + "]";
}
}
测试类
package com.whty.test;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
import com.whty.entity.User;
public class Test {
public static void main(String[] args) {
List<User> list = new ArrayList<>();
list.add(new User(1, "java", 20));
list.add(new User(2, "spark", 19));
list.add(new User(3, "hive", 21));
for(User user :list) {
System.out.println("排序前:" + user.toString());
}
//实现排序
Collections.sort(list, new Comparator<User>() {
@Override
public int compare(User u1, User u2) {
if(u1.getAge() > u2.getAge()) {
//return -1:即为正序排序
return -1;
}else if (u1.getAge() == u2.getAge()) {
return 0;
}else {
//return 1: 即为倒序排序
return 1;
}
}
});
for(User user :list) {
System.out.println("排序后:" + user.toString());
}
}
}
运行结果
排序前:User [id=1, name=java, age=20]
排序前:User [id=2, name=spark, age=19]
排序前:User [id=3, name=hive, age=21]
排序后:User [id=3, name=hive, age=21]
排序后:User [id=1, name=java, age=20]
排序后:User [id=2, name=spark, age=19]
来源:https://cloud.tencent.com/developer/article/1639912
标签:Java,List,自定义,排序
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
java同步之如何写一个锁Lock
2023-04-23 08:10:54
![](https://img.aspxhome.com/file/2023/3/63843_0s.png)
SpringBoot整合screw实现数据库文档自动生成的示例代码
2023-11-29 05:30:15
![](https://img.aspxhome.com/file/2023/9/60579_0s.png)
springcloud Zuul动态路由的实现
2021-10-07 06:15:40
![](https://img.aspxhome.com/file/2023/0/67140_0s.png)
Java核心编程之文件随机读写类RandomAccessFile详解
2023-11-28 17:40:05
mybatis查询返回Map<String,Object>类型的讲解
2022-12-25 02:07:38
![](https://img.aspxhome.com/file/2023/4/59534_0s.png)
详解JAVA中的OPTIONAL
2022-08-22 17:09:04
![](https://img.aspxhome.com/file/2023/1/64001_0s.png)
解决SpringBoot框架因post数据量过大没反应问题(踩坑)
2023-11-28 11:59:30
Java发送报文与接收报文的实例代码
2023-07-09 04:44:01
spring boot项目没有mainClass如何实现打包运行
2021-10-24 11:29:20
Java ThreadLocal类应用实战案例分析
2022-07-11 19:04:36
Java 全方位讲解面向对象特点与使用
2023-07-21 18:34:06
![](https://img.aspxhome.com/file/2023/4/68704_0s.png)
集合嵌套之ArrayList嵌套ArrayList实例
2021-06-23 07:32:25
Android登录注册功能 数据库SQLite验证
2023-10-01 20:58:55
![](https://img.aspxhome.com/file/2023/6/86926_0s.gif)
java中Integer包装类装箱的一个细节详解
2023-09-24 18:35:32
Mybatis实现SQL存储流程详解
2022-09-11 05:17:05
详解安装Eclipse Maven插件的几种方法
2022-06-01 06:15:20
![](https://img.aspxhome.com/file/2023/1/69941_0s.png)
IDEA 2019.1.3 激活码大全
2023-05-09 05:20:37
IDEA如何自动生成serialVersionUID的设置
2023-08-09 04:00:33
![](https://img.aspxhome.com/file/2023/1/57701_0s.png)
C# 获取当前年份的周期及周期所在日期范围(推荐)
2021-10-06 15:00:44
![](https://img.aspxhome.com/file/2023/1/66131_0s.png)
elasticsearch分布式及数据的功能源码分析
2023-08-11 06:31:26
![](https://img.aspxhome.com/file/2023/7/58087_0s.png)