第十三章
Comparable接口
题目描述:针对三位学生的语数英成绩就英语成绩作降序排列。
Comparable接口是一个泛型接口。在实现该接口时,泛型类型E被替换成具体的类型。
compareTo方法判断这个对象相对于给定对象o的顺序,并且在小于、等于或大于给定对象o时,分别返回负整数、0或正整数。
降序还是升序,在重写compareTo
中所体现,大于时返回1最终作出升序排列。
package Chap13;
public class SortStudent {
public static void main(String[] args) {
Student[] s ={new Student(100,90,78),new Student(91,67,87),new Student(67,98,100)};
for(Student e:s){
System.out.println(e);
}
}
}
class Student implements Comparable<Student>{
private double math;
private double chinese;
private double english;
public Student(double math, double chinese, double english) {
this.math = math;
this.chinese = chinese;
this.english = english;
}
@Override
public int compareTo(Student o) {
if(english>o.english)return -1;
else if(english<o.english)return 1;
else return 0;
}
@Override
public String toString() {
return "math: "+math+"chinese: "+chinese+"english: "+english;
}
}
运行结果: