Java如何實(shí)現(xiàn)List自定義排序
實(shí)體類
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;}@Overridepublic String toString() {return 'User [id=' + id + ', name=' + name + ', age=' + age + ']';}}
測(cè)試類
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());}//實(shí)現(xiàn)排序Collections.sort(list, new Comparator<User>() {@Overridepublic 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());}}}
運(yùn)行結(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]
以上就是Java如何實(shí)現(xiàn)List自定義排序的詳細(xì)內(nèi)容,更多關(guān)于Java List自定義排序的資料請(qǐng)關(guān)注好吧啦網(wǎng)其它相關(guān)文章!
相關(guān)文章:
1. PHP防XSS 防SQL注入的代碼2. idea設(shè)置自動(dòng)導(dǎo)入依賴的方法步驟3. 淺談SpringMVC jsp前臺(tái)獲取參數(shù)的方式 EL表達(dá)式4. python pymysql鏈接數(shù)據(jù)庫(kù)查詢結(jié)果轉(zhuǎn)為Dataframe實(shí)例5. ASP刪除img標(biāo)簽的style屬性只保留src的正則函數(shù)6. IDEA版最新MyBatis程序配置教程詳解7. 使用Python和百度語(yǔ)音識(shí)別生成視頻字幕的實(shí)現(xiàn)8. 教你如何寫出可維護(hù)的JS代碼9. idea不能自動(dòng)補(bǔ)全yml配置文件的原因分析10. xml中的空格之完全解說
