使用匿名内部类的方式实现Comparator接口
时间: 2024-04-22 11:24:15 浏览: 111
Comparator 排序器
5星 · 资源好评率100%
使用匿名内部类的方式实现`Comparator`接口可以在不创建单独的实现类的情况下定义比较规则。下面是一个示例:
```java
List<Person> persons = new ArrayList<>();
// 添加一些Person对象到persons列表中
Comparator<Person> ageComparator = new Comparator<Person>() {
public int compare(Person p1, Person p2) {
return p1.getAge() - p2.getAge();
}
};
Collections.sort(persons, ageComparator);
```
在上面的代码中,我们创建了一个匿名内部类来实现`Comparator`接口的`compare()`方法。我们定义了一个`ageComparator`对象,该对象可以用于对`Person`对象按年龄进行比较。然后,我们使用`Collections.sort()`方法将`persons`列表按照年龄排序。
通过使用匿名内部类,你可以在需要的地方直接定义比较规则,而无需单独创建一个实现类。这种方式适用于只需要在特定场景下使用一次或少数几次的简单比较规则。
阅读全文