本次引入两个接口使用实例。
实例一:自定义类型排序
给定一个学生类:
class Student{
private String name;
private int age;
private int score;
public Student(String name,int age,int score){
this.name = name;
this.age = age;
this.score = score;
}
@Override
public String toString() {
return "Student{" +
"name='" + name + '\'' +
", age=" + age +
", score=" + score +
'}';
}
}
在给定一个学生数组,我们需要将这个对象数组当中的元素进行排序(分别按照名字、年龄、分数)。
Student[] students = new Student[]{
new Student("小明",15,60),
new Student("小红",12,100),
new Student("小华",16,85),
};
对于数组来说可以直接使用sort 方法就可以直接进行比较了,但是对于现在的自定义类型来说,自定义类型进行排序是需要实现Comparable接口的,并实现其中的compareTo抽象方法。
class Student implemnents Comparable<Student>{
private String name;
private int age;
private int score;
public Student(String name,int age,int score){
this.name = name;