亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

如何基于Java實現(xiàn)對象List排序

 更新時間:2020年01月14日 10:29:02   作者:龍凌云端  
這篇文章主要介紹了如何基于Java實現(xiàn)對象List排序,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下

這篇文章主要介紹了如何基于Java實現(xiàn)對象List排序,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下

按照對象中的某個屬性,對對象List進(jìn)行排序。

以初唐四杰的成績排名為例,對詩人進(jìn)行排序。

Java實現(xiàn)如下:

1、詩人(Poet)類結(jié)構(gòu),定義如下:

/**
 * Created by Miracle Luna on 2020/1/11
 */
public class Poet {
  private String name;
  private Double score;

  public Poet(String name, Double score) {
    this.name = name;
    this.score = score;
  }

  public String getName() {
    return name;
  }

  public void setName(String name) {
    this.name = name;
  }

  public Double getScore() {
    return score;
  }

  public void setScore(Double score) {
    this.score = score;
  }

  @Override
  public String toString() {
    return "Poet{" +
        "name='" + name + '\'' +
        ", score=" + score +
        '}';
  }
}

2、詩人按照成績排名,代碼如下:

import java.util.ArrayList;
import java.util.Comparator;
import java.util.List;

/**
 * Created by Miracle Luna on 2020/1/11
 */
public class PoetSort {

  public static void main(String[] args) {
    List<Poet> poetList = new ArrayList<Poet>();
    Poet poet1 = new Poet("楊炯", 94.0);
    poetList.add(poet1);
    Poet poet2 = new Poet("盧照鄰", 92.5);
    poetList.add(poet2);
    Poet poet3 = new Poet("駱賓王", 95.0);
    poetList.add(poet3);
    Poet poet4 = new Poet("王勃", 99.5);
    poetList.add(poet4);


    // 初始順序
    System.out.println("==> 初始順序如下:");
    poetList.forEach(poet -> System.out.println(poet.toString()));

    // 按照分?jǐn)?shù)排名(從高到低)
    poetList.sort(new Comparator<Poet>() {
      @Override
      public int compare(Poet poet1, Poet poet2) {
        Double score1 = poet1.getScore();
        Double score2 = poet2.getScore();
        return score2.compareTo(score1);
      }
    });
    System.out.println("\n==> 按照分?jǐn)?shù)排名(從高到低)如下:");
    poetList.forEach(poet -> System.out.println(poet.toString()));

    // 按照分?jǐn)?shù)排名(從低到高)
    poetList.sort(new Comparator<Poet>() {
      @Override
      public int compare(Poet poet1, Poet poet2) {
        Double score1 = poet1.getScore();
        Double score2 = poet2.getScore();
        return score1.compareTo(score2);
      }
    });
    System.out.println("\n==> 按照分?jǐn)?shù)排名(從低到高)如下:");
    poetList.forEach(poet -> System.out.println(poet.toString()));
  }
}

3、運行結(jié)果如下:

==> 初始順序如下:
Poet{name='楊炯', score=94.0}
Poet{name='盧照鄰', score=92.5}
Poet{name='駱賓王', score=95.0}
Poet{name='王勃', score=99.5}

==> 按照分?jǐn)?shù)排名(從高到低)如下:
Poet{name='王勃', score=99.5}
Poet{name='駱賓王', score=95.0}
Poet{name='楊炯', score=94.0}
Poet{name='盧照鄰', score=92.5}

==> 按照分?jǐn)?shù)排名(從低到高)如下:
Poet{name='盧照鄰', score=92.5}
Poet{name='楊炯', score=94.0}
Poet{name='駱賓王', score=95.0}
Poet{name='王勃', score=99.5}

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • 詳解Guava中EventBus的使用

    詳解Guava中EventBus的使用

    EventBus是Guava的事件處理機(jī)制,是設(shè)計模式中觀察者模式(生產(chǎn)/消費者編程模型)的優(yōu)雅實現(xiàn)。本文就來和大家聊聊EventBus的使用,需要的可以參考一下
    2022-12-12
  • Java讀取txt文件和寫入txt文件的簡單實例

    Java讀取txt文件和寫入txt文件的簡單實例

    下面小編就為大家?guī)硪黄狫ava讀取txt文件和寫入txt文件的簡單實例。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-11-11
  • 解決spring-data-jpa mysql建表編碼問題

    解決spring-data-jpa mysql建表編碼問題

    這篇文章主要介紹了解決spring-data-jpa mysql建表編碼問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-07-07
  • springboot發(fā)布dubbo服務(wù)注冊到nacos實現(xiàn)方式

    springboot發(fā)布dubbo服務(wù)注冊到nacos實現(xiàn)方式

    這篇文章主要介紹了springboot發(fā)布dubbo服務(wù)注冊到nacos實現(xiàn)方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-09-09
  • 使用google.kaptcha來生成圖片驗證碼的實現(xiàn)方法

    使用google.kaptcha來生成圖片驗證碼的實現(xiàn)方法

    這篇文章主要介紹了使用google.kaptcha來生成圖片驗證碼的實現(xiàn)方法,非常不錯具有一定的參考借鑒價值,需要的朋友可以參考下
    2018-09-09
  • java中Calendar與Date類型互相轉(zhuǎn)換的方法

    java中Calendar與Date類型互相轉(zhuǎn)換的方法

    這篇文章主要介紹了java中Calendar與Date類型互相轉(zhuǎn)換的方法,Calendar與Date類型是我們?nèi)粘i_發(fā)中常用的兩種數(shù)據(jù)類型,它們用于不同的場景,兩者具有不同的方法,接下來通過實例給大家詳解,需要的朋友可以參考下
    2022-09-09
  • Spring?Security實現(xiàn)基于RBAC的權(quán)限表達(dá)式動態(tài)訪問控制的操作方法

    Spring?Security實現(xiàn)基于RBAC的權(quán)限表達(dá)式動態(tài)訪問控制的操作方法

    這篇文章主要介紹了Spring?Security實現(xiàn)基于RBAC的權(quán)限表達(dá)式動態(tài)訪問控制,資源權(quán)限表達(dá)式動態(tài)權(quán)限控制在Spring Security也是可以實現(xiàn)的,首先開啟方法級別的注解安全控制,本文結(jié)合實例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2022-04-04
  • MyBatis框架零基礎(chǔ)快速入門案例詳解

    MyBatis框架零基礎(chǔ)快速入門案例詳解

    MyBatis本是apache的一個開源項目iBatis,2010年這個項目由apache?software?foundation遷移到了google?code,并且改名為MyBatis。2013年11月遷移到Github。iBATIS一詞來源于“internet”和“abatis”的組合,是一個基于Java的持久層框架
    2022-04-04
  • Java的LinkedHashSet解析

    Java的LinkedHashSet解析

    這篇文章主要介紹了Java的LinkedHashSet解析,Set接口的哈希表和鏈表實現(xiàn),具有可預(yù)測的迭代順序,此實現(xiàn)與 HashSet的不同之處在于它維護(hù)一個雙向鏈表,該列表貫穿其所有條目,這個鏈表定義了迭代順序,需要的朋友可以參考下
    2023-09-09
  • Kotlin 和 Java 混合開發(fā)入門教程

    Kotlin 和 Java 混合開發(fā)入門教程

    這篇文章主要介紹了入門 Kotlin 和 Java 混合開發(fā),本文通過圖文并茂的形式給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-09-09

最新評論