Comparable接口一般是用来比较大小,然后将一个类的数组进行排序的时候来使用的。可以让其使用**Arrays.sort(数组名);**来进行排序
用代码举例
首先我们实现一个简单的Student类,但是这个Student类需要用接口继承Comparaable并且后面要加上/ <类名>
public class Student implements Comparable<Student>{
private String name;
private int age;
private String exam;
public Student(String name,int age,String exam) {
setName(name);
setAge(age);
setExam(exam);
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getExam() {
return exam;
}
public void setExam(String exam) {
this.exam = exam;
}
@Override
public String toString() {
return "Student{" +
"name='" + name + '\'' +
", age=" + age +
", exam='" + exam + '\'' +
'}';
}
@Override
public int compareTo(Student o) {
//用年龄来排序
// return this.age - o.age;//从小到大排序
return o.age - this.age;//从大到小排序
}
}
然后再是主函数
import java.util.Arrays;
public class Main {
public static void main(String[] args) {
Student[] students = new Student[3];
students[0] = new Student("李",16,"78");
students[1] = new Student("白",18,"99");
students[2] = new Student("王",17,"89");
System.out.println(Arrays.toString(students));
Arrays.sort(students);
System.out.println(Arrays.toString(students));
}
}