comparingInt和thenComparing一起使用
时间: 2023-10-13 12:09:17 浏览: 82
A Search Algorithm搜索算法介绍和java实现
`comparingInt`和`thenComparing`是Java 8中用于排序的两个方法。`comparingInt`方法允许您按照指定的键(使用一个int类型的函数)对元素进行排序,而`thenComparing`方法允许您在第一个比较器的结果相同时使用第二个比较器进行排序。
下面是一个示例,演示如何使用`comparingInt`和`thenComparing`方法对一个包含Person对象的List进行排序:
```java
List<Person> people = new ArrayList<>();
people.add(new Person("John", 30));
people.add(new Person("Jane", 25));
people.add(new Person("Bob", 35));
//按年龄排序,如果年龄相同,则按姓名排序
people.sort(
Comparator.comparingInt(Person::getAge)
.thenComparing(Person::getName));
//打印排序后的结果
people.forEach(System.out::println);
```
在上面的示例中,我们首先使用`comparingInt`方法按照年龄对Person对象进行排序。然后,我们使用`thenComparing`方法,如果年龄相同,则按照姓名进行排序。
输出结果如下:
```
Jane (25)
John (30)
Bob (35)
```
注意,`comparingInt`方法返回一个比较器,而`thenComparing`方法也返回一个比较器,因此我们可以将它们链接在一起,以便进行复杂的排序操作。
阅读全文