public class Student implements Comparable<Student>{
private String id;
private double score;
//空参
public Student() {
}
//带参
public Student(String id, double score) {
this.id = id;
this.score = score;
}
//get and set
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public double getScore() {
return score;
}
public void setScore(double score) {
this.score = score;
}
//toString
@Override
public String toString() {
return "Student{" +
"id='" + id + '\'' +
", score=" + score +
'}';
}
@Override
public int compareTo(Student o) {
//return (int) (this.score - o.score);
//如果分数相同
if(this.score == o.score){
//按照学号排序
return this.id.compareTo(o.id);
}
return Double.compare(this.score,o.score);
}
}
测试类
public class Test {
public static void main(String[] args) {
List<Student> list = new ArrayList<>();
list.add(new Student("001",90.1));
list.add(new Student("002",89.9));
list.add(new Student("005",100));
list.add(new Student("003",100));
list.add(new Student("004",60));
Collections.sort(list);
System.out.println(list);
}
}