美文网首页
Java 8 中的Comparator 的用法

Java 8 中的Comparator 的用法

作者: CVD | 来源:发表于2020-06-24 14:44 被阅读0次

Java 8 中的Comparator可以让我们很方便的实现排序的功能
用法:
对整数的列表升序排序

List<Integer> list = Arrays.asList(1, 4, 2, 6, 2, 8);
list.sort(Comparator.naturalOrder()); // 自然排序, 升序
list.sort(Comparator.reverseOrder()); // 反向排序, 降序
System.out.println(list);

排序List对象(根据对象的某个属性进行排序)

   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());

还可以对多个属性进行组合的排序

// 先以价格(升序)、后再速度(升序) 
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());

可以说是非常的方便了

相关文章

网友评论

      本文标题:Java 8 中的Comparator 的用法

      本文链接:https://www.haomeiwen.com/subject/mpprfktx.html