Java如何實現List自定義排序
阿新 • • 發佈:2020-09-10
實體類
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,age=21]
排序後:User [id=1,age=20]
排序後:User [id=2,age=19]
以上就是Java如何實現List自定義排序的詳細內容,更多關於Java List自定義排序的資料請關注我們其它相關文章!