91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何在Java8中使用Comparator排序

發布時間:2021-05-21 16:29:02 來源:億速云 閱讀:326 作者:Leah 欄目:編程語言

這篇文章給大家介紹如何在Java8中使用Comparator排序,內容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。

Java8 中 Comparator 接口提供了一些靜態方法,可以方便于我們進行排序操作,下面通過例子講解下如何使用

對整數列表排序(升序)

List<Integer> list = Arrays.asList(1, 4, 2, 6, 2, 8);
list.sort(Comparator.naturalOrder());
System.out.println(list);

對整數列表排序(降序)

List<Integer> list = Arrays.asList(1, 4, 2, 6, 2, 8);
list.sort(Comparator.reverseOrder());
System.out.println(list);

根據對象屬性(年齡)進行排序

public class Test {
  public static void main(String[] args) {
    List<Person> personList = new ArrayList<>();
    personList.add(new Person("a", 2));
    personList.add(new Person("b", 4));
    personList.add(new Person("c", 7));
    // 升序
    personList.sort(Comparator.comparingInt(Person::getAge));
    // 降序
    personList.sort(Comparator.comparingInt(Person::getAge).reversed());
    System.out.println(personList);
  }

  public static class Person {
    private String name;
    private Integer age;

    public Person(String name, Integer age) {
      this.name = name;
      this.age = age;
    }

    public Integer getAge() {
      return age;
    }
    
    // ... toString 方法
  }
}

根據對象屬性(價格、速度)進行排序,需要注意的是,排序有先后之分,不同的順序會導致不同的結果

public class Test {
  public static void main(String[] args) {
    List<Computer> list = new ArrayList<>();
    list.add(new Computer("xiaomi",4000,6));
    list.add(new Computer("sony",5000,4));
    list.add(new Computer("dell",4000,5));
    list.add(new Computer("mac",6000,8));
    list.add(new Computer("micro",5000,6));
    // 先以價格(升序)、后再速度(升序)
  list.sort(Comparator.comparingInt(Computer::getPrice).thenComparingInt(Computer::getSpeed));
    // 先以速度(降序)、后再價格(升序)
   list.sort(Comparator.comparingInt(Computer::getSpeed).reversed().thenComparingInt(Computer::getPrice));
    // 先以價格(降序)、后再速度(降序)
    list.sort(Comparator.comparingInt(Computer::getPrice).thenComparingInt(Computer::getSpeed).reversed());
    System.out.println(list);
  }

  public static class Computer {
    private String name;
    private Integer price;
    private Integer speed;

    public Computer(String name, Integer price, Integer speed) {
      this.name = name;
      this.price = price;
      this.speed = speed;
    }

    public Integer getPrice() {

      return price;
    }

    public void setPrice(Integer price) {
      this.price = price;
    }

    public Integer getSpeed() {
      return speed;
    }

    public void setSpeed(Integer speed) {
      this.speed = speed;
    }

    // ... toString 方法
  }
}

Java有哪些集合類

Java中的集合主要分為四類:1、List列表:有序的,可重復的;2、Queue隊列:有序,可重復的;3、Set集合:不可重復;4、Map映射:無序,鍵唯一,值不唯一。

關于如何在Java8中使用Comparator排序就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

体育| 通许县| 芦溪县| 萍乡市| 濉溪县| 遂宁市| 垣曲县| 石楼县| 黄冈市| 宁武县| 鲁甸县| 元氏县| 虞城县| 定结县| 北票市| 长丰县| 望城县| 开鲁县| 黔西| 灵寿县| 离岛区| 临城县| 诏安县| 望城县| 通州市| 汽车| 南澳县| 建宁县| 互助| 邳州市| 大洼县| 洛隆县| 河间市| 托里县| 同心县| 巴青县| 丰原市| 吉安市| 岐山县| 多伦县| 定南县|