时间:2021-05-20
实体类
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自定义排序的资料请关注其它相关文章!
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
本文实例讲述了Java针对ArrayList自定义排序的2种实现方法。分享给大家供大家参考,具体如下:Java中实现对list的自定义排序主要通过两种方式1)让
List.sort()可以实现对T的排序,比如List.sort()执行后集合会按照int从小到大排序。如果T是一个自定义的Object,可是我们想按照自己的方
本文实例讲述了C#使用IComparer自定义List类实现排序的方法。分享给大家供大家参考。具体如下:List类中不带参数的Sort函数可以用来为List类中
本文主要介绍了java8stream自定义分组求和并排序的实现,分享给大家,具体如下:publicstaticvoidmain(String[]args){Li
前面在讲解如何创建map、multimap、set以及multiset容器时,遗留了一个问题,即如何自定义关联式容器中的排序规则?实际上,为关联式容器自定义排序