Comparator.comparing 比较泛型字段数据
时间: 2023-11-21 22:56:33 浏览: 91
用泛型比较各种数据类型
Comparator.comparing()是Java 8中的一个静态方法,它可以用于比较对象中的某个字段数据。该方法接受一个Function参数,该参数用于提取要比较的字段数据,并返回一个实现了Comparator接口的比较器对象。该比较器对象可以用于对对象列表进行排序。下面是一个例子:
假设我们有一个Person类,其中包含name和age两个字段。我们想要按照name字段对Person对象列表进行排序,可以使用Comparator.comparing()方法来实现:
```java
List<Person> people = new ArrayList<>();
people.add(new Person("Alice", 25));
people.add(new Person("Bob", 30));
people.add(new Person("Charlie", 20));
// 按照name字段对Person对象列表进行排序
Collections.sort(people, Comparator.comparing(Person::getName));
// 输出排序后的结果
for (Person person : people) {
System.out.println(person.getName() + " " + person.getAge());
}
```
上述代码中,我们使用Comparator.comparing()方法来创建一个比较器对象,该比较器对象用于比较Person对象的name字段。然后,我们使用Collections.sort()方法对Person对象列表进行排序,最后输出排序后的结果。
阅读全文