怎么使用在Student中定义的comparato方法
时间: 2024-09-18 18:13:17 浏览: 45
在`Student`类中定义了`compareTo()`方法后,你可以直接利用Java集合框架的内置排序功能来利用这个方法进行排序。这里是一个简单的例子,假设我们有一个`ArrayList<Student>`:
```java
import java.util.ArrayList;
import java.util.List;
public class Main {
public static void main(String[] args) {
List<Student> students = new ArrayList<>();
// 添加学生对象
students.add(new Student("liusan", 20, 90.0f));
students.add(new Student("lisi", 22, 90.0f));
students.add(new Student("wangwu", 20, 99.0f));
students.add(new Student("sunliu", 22, 100.0f));
// 使用compareTo()方法进行降序排序(包括年龄)
Collections.sort(students, new Comparator<Student>() {
@Override
public int compare(Student s1, Student s2) {
return s1.compareTo(s2);
}
});
System.out.println("Sorted students:");
for (Student student : students) {
System.out.println(student.getName() + " (" + student.getAge() + ", " + student.getScore() + ")");
}
}
}
```
在这个例子中,`Collections.sort()`方法接受一个`Comparator`实例作为第二个参数,这个`Comparator`实现了`compare()`方法,它会调用`Student`类的`compareTo()`方法进行比较。因此,学生列表就会按照你在`compareTo()`中设定的规则进行排序。
阅读全文