最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java實現(xiàn)對象按照其屬性排序的兩種方法示例

 更新時間:2020年05月21日 10:17:57   作者:LIFE_R  
這篇文章主要介紹了Java實現(xiàn)對象按照其屬性排序的兩種方法,結(jié)合實例形式詳細分析了Java對象按照其屬性排序的兩種實現(xiàn)方法與相關注意事項,需要的朋友可以參考下

本文實例講述了Java實現(xiàn)對象按照其屬性排序的兩種方法。分享給大家供大家參考,具體如下:

有時候需要對對象列表或數(shù)組進行排序,下面提供兩種簡單方式:

方法一:將要排序的對象類實現(xiàn)Comparable<>接口。

首先,創(chuàng)建學生類,我們將根據(jù)學生成績對學生進行排序:

/**
*  學生類
*/
class Student implements Comparable<Student>{

  String name;
  int age;
  int score;

  public Student(String name, int age,int score) {
    this.name = name;
    this.age = age;
    this.score = score;
  }

  @Override
  public int compareTo(Studento) {
    // TODO Auto-generated method stub
    return this.age - o.age;
  }
}

public class Test {

  public static void main(String[] args) {
    // TODO Auto-generated method stub
    ArrayList<Student> students = new ArrayList<>();
    students.add(new Student("大銘", 19, 89));
    students.add(new Student("來福", 26, 90));
    students.add(new Student("倉頡", 23, 70));
    students.add(new Student("王磊", 18, 80));

    System.out.println("排序前:");
    for (Student student : students) {
      System.out.println("姓名:"+student.name+" 年齡:"+student.age+" 成績:"+student.score);
    }

    // 排序
    Collections.sort(students);

    System.out.println("排序后:");
    for (Student student : students) {
      System.out.println("姓名:"+student.name+" 年齡:"+student.age+" 成績:"+student.score);
    }
  }
}

同理,也可以根據(jù)對象的其他屬性進行排序。

方法二:使用Comparator匿名內(nèi)部類實現(xiàn)。

還是使用同一個例子,按成績將學生排序:

/**
*  學生類
*/
class Student {

  String name;
  int age;
  int score;

  public Student(String name, int age,int score) {
    this.name = name;
    this.age = age;
    this.score = score;
  }
}

public class Test {

  public static void main(String[] args) {
    // TODO Auto-generated method stub
    ArrayList<Student> students = new ArrayList<>();
    students.add(new Student("大銘", 19, 89));
    students.add(new Student("來福", 26, 90));
    students.add(new Student("倉頡", 23, 70));
    students.add(new Student("王磊", 18, 80));

    System.out.println("排序前:");
    for (Student student : students) {
      System.out.println("姓名:"+student.name+" 年齡:"+student.age+" 成績:"+student.score);
    }

    Collections.sort(students,new Comparator<Student>() {

      @Override
      public int compare(Student o1, Student o2) {
        // TODO Auto-generated method stub
        return o1.age-o2.age;
      }
    });

    System.out.println("排序后:");
    for (Student student : students) {
      System.out.println("姓名:"+student.name+" 年齡:"+student.age+" 成績:"+student.score);
    }
  }
}

也可以實現(xiàn)按對象屬性將對象列表排序。

更多關于java相關內(nèi)容感興趣的讀者可查看本站專題:《Java面向?qū)ο蟪绦蛟O計入門與進階教程》、《Java數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Java操作DOM節(jié)點技巧總結(jié)》、《Java文件與目錄操作技巧匯總》和《Java緩存操作技巧匯總

希望本文所述對大家java程序設計有所幫助。

相關文章

  • java數(shù)組實現(xiàn)隊列及環(huán)形隊列實現(xiàn)過程解析

    java數(shù)組實現(xiàn)隊列及環(huán)形隊列實現(xiàn)過程解析

    這篇文章主要介紹了java數(shù)組實現(xiàn)隊列及環(huán)形隊列實現(xiàn)過程解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-10-10
  • javaWeb使用驗證碼實現(xiàn)簡單登錄

    javaWeb使用驗證碼實現(xiàn)簡單登錄

    這篇文章主要為大家詳細介紹了javaWeb使用驗證碼實現(xiàn)簡單登錄,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-08-08
  • 深入淺出Java mvc_動力節(jié)點Java學院整理

    深入淺出Java mvc_動力節(jié)點Java學院整理

    這篇文章主要為大家詳細介紹了MVC的基礎知識,MVC是一個框架模式,它強制性的使應用程序的輸入、處理和輸出分開,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-08-08
  • Java并發(fā)之ReentrantLock類源碼解析

    Java并發(fā)之ReentrantLock類源碼解析

    這篇文章主要為大家詳細介紹了Java并發(fā)系列之ReentrantLock源碼,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-03-03
  • Javas使用Redlock實現(xiàn)分布式鎖過程解析

    Javas使用Redlock實現(xiàn)分布式鎖過程解析

    這篇文章主要介紹了Javas使用Redlock實現(xiàn)分布式鎖過程解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-08-08
  • Java超詳細講解設計模式中的命令模式

    Java超詳細講解設計模式中的命令模式

    命令模式是將一個請求封裝為一個對象,從而可用不同的請求對客戶進行參數(shù)化,對請求排隊或者對請求做日志記錄,以及可以支持撤銷的操作
    2022-04-04
  • ByteArrayInputStream簡介和使用_動力節(jié)點Java學院整理

    ByteArrayInputStream簡介和使用_動力節(jié)點Java學院整理

    ByteArrayInputStream 是字節(jié)數(shù)組輸入流。它繼承于InputStream。這篇文章主要介紹了ByteArrayInputStream簡介和使用_動力節(jié)點Java學院整理,需要的朋友可以參考下
    2017-05-05
  • Java多線程并發(fā)編程 Volatile關鍵字

    Java多線程并發(fā)編程 Volatile關鍵字

    volatile 關鍵字是一個神秘的關鍵字,也許在 J2EE 上的 JAVA 程序員會了解多一點,但在 Android 上的 JAVA 程序員大多不了解這個關鍵字。只要稍了解不當就好容易導致一些并發(fā)上的錯誤發(fā)生,例如好多人把 volatile 理解成變量的鎖
    2017-05-05
  • SpringBoot實現(xiàn)過濾器和攔截器的方法

    SpringBoot實現(xiàn)過濾器和攔截器的方法

    大家應該都曉得實現(xiàn)過濾器需要實現(xiàn)?javax.servlet.Filter?接口,而攔截器會在處理指定請求之前和之后進行相關操作,配置攔截器需要兩步,本文通過實例代碼給大家介紹SpringBoot?過濾器和攔截器的相關知識,感興趣的朋友一起看看吧
    2022-11-11
  • Java用戶登錄驗證代碼

    Java用戶登錄驗證代碼

    本文給大家使用java代碼實現(xiàn)用戶登錄驗證功能,當用戶輸入三次錯誤后,用戶不可以再次登錄的。具體實現(xiàn)代碼,大家可以參考下本教程
    2016-08-08

最新評論

额济纳旗| 南岸区| 陕西省| 佛山市| 泸水县| 阳西县| 南澳县| 灵宝市| 元谋县| 胶南市| 荆门市| 闸北区| 乌鲁木齐县| 望谟县| 钟祥市| 永寿县| 汉寿县| 临泽县| 北海市| 固镇县| 米泉市| 灵璧县| 六盘水市| 上栗县| 富蕴县| 高雄县| 克山县| 蒙山县| 若尔盖县| 汽车| 浦城县| 城口县| 庄浪县| 荔波县| 张掖市| 泰来县| 东辽县| 齐齐哈尔市| 滁州市| 万全县| 泸定县|