Java comparable接口
时间: 2023-10-07 12:11:24 浏览: 87
java,Comparable接口实例
Java中的`Comparable`接口是一个泛型接口,用于实现对象的自然排序。当我们需要对自定义类进行排序时,可以使用`Comparable`接口来实现对象之间的比较。
实现`Comparable`接口需要实现其中的`compareTo`方法,该方法的返回值为int类型,表示比较结果的大小关系。如果当前对象小于目标对象,则返回负整数;如果当前对象等于目标对象,则返回0;如果当前对象大于目标对象,则返回正整数。
以下是一个实现`Comparable`接口的示例代码:
```java
public class Student implements Comparable<Student> {
private String name;
private int score;
public Student(String name, int score) {
this.name = name;
this.score = score;
}
public String getName() {
return name;
}
public int getScore() {
return score;
}
@Override
public int compareTo(Student o) {
// 按照分数从大到小排序
return o.score - this.score;
}
}
```
在上述示例代码中,我们实现了`Comparable`接口,并重写了`compareTo`方法,按照学生成绩从大到小排序。在排序时,我们可以调用`Collections.sort()`方法或`Arrays.sort()`方法,传入实现了`Comparable`接口的对象数组即可完成排序。
```java
List<Student> students = new ArrayList<>();
students.add(new Student("Alice", 85));
students.add(new Student("Bob", 90));
students.add(new Student("Charlie", 80));
Collections.sort(students);
for (Student student : students) {
System.out.println(student.getName() + " " + student.getScore());
}
```
以上代码输出结果为:
```
Bob 90
Alice 85
Charlie 80
```
阅读全文