您好,登錄后才能下訂單哦!
使用Java實現(xiàn)List自定義排序的方法?針對這個問題,這篇文章詳細(xì)介紹了相對應(yīng)的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。
實體類
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()); } //實現(xiàn)排序 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()); } } }
運行結(jié)果
排序前: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]
關(guān)于使用Java實現(xiàn)List自定義排序的方法問題的解答就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關(guān)注億速云行業(yè)資訊頻道了解更多相關(guān)知識。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。