介绍
这篇文章给大家介绍如何在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中使用比较器排序就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看的到。