使用`Comparator`的例子有哪些?
时间: 2024-10-09 15:01:45 浏览: 25
使用`Comparator`的例子很多,下面是一些常见的场景:
1. **按字母逆序排列字符串**:创建一个实现了`Comparator<String>`的匿名内部类,然后传入`Collections.sort()`方法中。例如:
```java
List<String> names = Arrays.asList("Alice", "Bob", "Charlie");
Collections.sort(names, new Comparator<String>() {
@Override
public int compare(String s1, String s2) {
return s2.compareTo(s1);
}
});
```
2. **按年龄降序排序人物列表**:假设有一个Person类包含age属性,可以这样排序:
```java
class Person {
int age;
// other fields...
}
List<Person> people = ...;
Collections.sort(people, Comparator.comparingInt(Person::getAge).reversed());
```
3. **自定义日期排序**:如果数据是Date类型,可以按照日期的某个字段进行排序:
```java
List<Date> dates = ...;
Collections.sort(dates, Comparator.comparing(Date::getTime));
```
4. **基于用户评分的电影推荐排序**:可以按评分从高到低展示电影列表:
```java
List<Movie> movies = ...;
Collections.sort(movies, Comparator.comparing(Movie::getRating).reversed());
```
阅读全文