如何在Java8中使用比较器排序

  介绍

这篇文章给大家介绍如何在Java8中使用比较器排序,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。

Java8中比较器接口提供了一些静态方法,可以方便于我们进行排序操作,下面通过例子讲解下如何使用

对整数列表排序(升序)

List, list =, arrays . aslist (1, 4,, 2,,,, 2,, 8);   list.sort (Comparator.naturalOrder ());   System.out.println(列表);

对整数列表排序(降序)

List, list =, arrays . aslist (1, 4,, 2,,,, 2,, 8);   list.sort (Comparator.reverseOrder ());   System.out.println(列表);

根据对象属性(年龄)进行排序

public  class  Test  {   public 才能;static  void  main (String [], args), {   ,,,List, personList =, new  ArrayList<在();   ,,,personList.add (new 人(“a",, 2));   ,,,personList.add (new 人(“b",, 4));   ,,,personList.add (new 人(“c",, 7));   ,,,//,升序   ,,,personList.sort (Comparator.comparingInt人::getAge ());   ,,,//,降序   ,,,personList.sort (Comparator.comparingInt(人::getAge) .reversed ());   ,,,System.out.println (personList);   ,,}      public 才能static  class  Person  {   ,,,private  String 名称;   ,,,private  Integer 年龄;      ,,,public 人(名字,String  Integer 年龄),{   ,,,,,this.name =,名称;   ,,,,,this.age =,年龄;   ,,,}      ,,,public  Integer  getAge (), {   ,,,,,return 年龄;   ,,,}   ,,,,   ,,,//,,,toString 方法   ,,}   }

根据对象属性(价格,速度)进行排序,需要注意的是,排序有先后之分,不同的顺序会导致不同的结果

public  class  Test  {   public 才能;static  void  main (String [], args), {   ,,,List, list =, new  ArrayList<在();   ,,,list.add (new 计算机(4000年“xiaomi", 6));   ,,,list.add (new 计算机(5000年“sony" 4));   ,,,list.add (new 计算机(4000年“dell" 5));   ,,,list.add (new 计算机(“mac" 6000 8));   ,,,list.add (new 计算机(5000年“micro", 6));   ,,,//,先以价格(升序),后再速度(升序)   list . sort (Comparator.comparingInt就,,(电脑::getPrice) .thenComparingInt(电脑::getSpeed));   ,,,//,先以速度(降序),后再价格(升序)   list . sort (Comparator.comparingInt就,,(电脑::getSpeed) .reversed () .thenComparingInt(电脑::getPrice));   ,,,//,先以价格(降序),后再速度(降序)   list . sort(就,,,Comparator.comparingInt(电脑::getPrice) .thenComparingInt(电脑::getSpeed) .reversed ());   ,,,System.out.println(列表);   ,,}      public 才能static  class  Computer  {   ,,,private  String 名称;   ,,,private  Integer 价格;   ,,,private  Integer 速度;      ,,,public 计算机(名称、String  Integer 价格,,Integer 速度),{   ,,,,,this.name =,名称;   ,,,,,this.price =,价格;   ,,,,,this.speed =,速度;   ,,,}      ,,,public  Integer  getPrice (), {      ,,,,,return 价格;   ,,,}      ,,,public  void  setPrice (Integer 价格),{   ,,,,,this.price =,价格;   ,,,}      ,,,public  Integer  getSpeed (), {   ,,,,,return 速度;   ,,,}      ,,,public  void  setSpeed (Integer 速度),{   ,,,,,this.speed =,速度;   ,,,}      ,,,//,,,toString 方法   ,,}   } Java有哪些集合类

Java中的集合主要分为四类:1,列清单表:有序的,可重复的;2、队列队列:有序,可重复的;3,设置集合:不可重复;4、地图映射:无序,键唯一,值不唯一。

关于如何在Java8中使用比较器排序就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看的到。

如何在Java8中使用比较器排序