亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

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

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

如何在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

七台河市| 新密市| 南昌县| 紫云| 灵山县| 连州市| 周口市| 沁源县| 澄迈县| 全椒县| 西充县| 台北县| 鄂托克旗| 宜都市| 南木林县| 天气| 林甸县| 营口市| 芜湖市| 江安县| 沙坪坝区| 阿瓦提县| 阳原县| 灵寿县| 隆德县| 资阳市| 安阳县| 乌审旗| 马龙县| 桃源县| 大石桥市| 松桃| 嵊泗县| 渭源县| 临江市| 修武县| 凯里市| 酒泉市| 霞浦县| 湘潭市| 会同县|