comparator用法
时间: 2023-09-05 20:12:17 浏览: 89
比较器Comparator简单用法
3星 · 编辑精心推荐
Comparator是Java中的一个接口,用于定义对象之间的比较规则。它通常用于对集合中的元素进行排序或自定义排序。
Comparator接口中有一个抽象方法`compare(T obj1, T obj2)`,用于比较两个对象的大小关系。该方法返回一个整数值,表示obj1和obj2的比较结果:
- 如果返回值小于0,则表示obj1小于obj2。
- 如果返回值等于0,则表示obj1等于obj2。
- 如果返回值大于0,则表示obj1大于obj2。
Comparator接口还有一个默认方法`reversed()`,用于返回当前比较器的逆序比较器。
下面是一个使用Comparator进行排序的示例代码:
```java
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
class Student {
private String name;
private int age;
// 构造方法、getter和setter省略
@Override
public String toString() {
return "Student [name=" + name + ", age=" + age + "]";
}
}
class AgeComparator implements Comparator<Student> {
@Override
public int compare(Student s1, Student s2) {
return s1.getAge() - s2.getAge();
}
}
public class ComparatorExample {
public static void main(String[] args) {
List<Student> students = new ArrayList<>();
students.add(new Student("Alice", 20));
students.add(new Student("Bob", 18));
students.add(new Student("Charlie", 22));
// 使用AgeComparator对students进行排序
Collections.sort(students, new AgeComparator());
// 打印排序后的结果
for (Student student : students) {
System.
阅读全文