Java如何实现List自定义排序
实体类
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]
以上就是Java如何实现List自定义排序的详细内容,更多关于Java List自定义排序的资料请关注脚本之家其它相关文章!
相关文章
Jrebel License Server 激活 IDEA-Jrebel-在线-
这篇文章主要介绍了Jrebel License Server 激活 IDEA-Jrebel-在线-离线-均适用,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下2020-12-12
解决Spring session(redis存储方式)监听导致创建大量redisMessageListenerConta
这篇文章主要介绍了解决Spring session(redis存储方式)监听导致创建大量redisMessageListenerContailner-X线程问题,需要的朋友可以参考下2018-08-08
idea springBoot项目自动注入mapper为空报错的解决方法
这篇文章主要介绍了idea springBoot项目自动注入mapper为空报错的解决方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下2023-03-03
SpringBoot多数据源解决方案:dynamic-datasource-spring-boot-starter
本文主要介绍了SpringBoot多数据源解决方案,使用dynamic-datasource-spring-boot-starter实现,具有一定的参考价值,感兴趣的可以了解一下2025-03-03


最新评论