⑤重写Comparable接口中的compareTo()方法,使学生类的数组可以通过调用Arrays类的sort()方法进行排序,排序要求为按成绩降序排。
时间: 2024-02-11 18:08:23 浏览: 61
好的,我来给你介绍如何重写 `Comparable` 接口中的 `compareTo()` 方法,以实现学生类的数组按照成绩降序排列。
首先,我们需要在 `Student` 类中实现 `Comparable` 接口,代码如下:
```java
public class Student implements Comparable<Student>{
private String name;
private int score;
// 构造方法和其他方法省略
@Override
public int compareTo(Student o) {
// 按成绩降序排列
return o.score - this.score;
}
}
```
我们在 `Student` 类中实现了 `Comparable` 接口,并重写了 `compareTo()` 方法。在 `compareTo()` 方法中,我们按照成绩的降序排列,即将传入的学生对象的成绩减去当前学生对象的成绩,以此来确定两个对象之间的大小关系。
接下来,我们可以使用 `Arrays` 类的 `sort()` 方法来对学生类的数组进行排序,代码如下:
```java
public static void main(String[] args) {
Student[] students = new Student[3];
students[0] = new Student("张三", 90);
students[1] = new Student("李四", 80);
students[2] = new Student("王五", 95);
Arrays.sort(students);
for (Student student : students) {
System.out.println(student);
}
}
```
上述代码中,我们首先创建了一个包含三个学生对象的数组,然后调用了 `Arrays` 类的 `sort()` 方法进行排序。由于我们已经在 `Student` 类中实现了 `Comparable` 接口,因此 `Arrays` 类会自动调用 `compareTo()` 方法进行排序。最后,我们使用增强型 for 循环遍历数组并输出每个学生对象。
这样,我们就实现了将学生类的数组按照成绩降序排列。
阅读全文