请创建学生类( Student ),用于存储学生信息。
创建 ArrayList 集合,依次存储如下5位同学的信息,
并使 用 Comparable 或 Comparator 接口对5位同学的成绩做降序排序,
如果成绩一样,那在成绩排序的基础上按 照年龄由小到大排序。
最后遍历并输出 ArrayList 集合中的数据。
姓名(String) 年龄(int) 分数(double)
张三 20 90.0
李四 22 90.0
王五 20 99.0
孙六 22 100.0
赵七 20 100.0
代码示例:
public class Student {
private String name;
private int age;
private double score;
public Student(String name, int age, double score) {
this.name = name;
this.age = age;
this.score = score;
}
public String getName() {
return name;
}
public int getAge() {
return age;
}
public double getScore() {
return score;
}
public String toString() {
return "Student[" + "name='" + name + ", age=" + age + ", score=" + score + "]";
}
}
import java.util.ArrayList;
import java.util.Comparator;
public class Main {
public static void main(String[] args) {
ArrayList<Student> studentList = new ArrayList<>();
studentList.add(new Student("张三",20,90.0));
studentList.add(new Student("李四",22,90.0));
studentList.add(new Student("王五",20,99.0));
studentList.add(new Student("马六",22,100.0));
studentList.add(new Student("赵七",20,100.0));
Comparator<Student> studentComparator = (s1,s2) ->{
if (s1.getScore() > s2.getScore())return -1;
else if (s1.getScore() < s2.getScore())return 1;
else return Integer.compare(s1.getAge(), s2.getAge());
};
studentList.sort(studentComparator);
for (Student student:studentList){
System.out.println(student);
}
}
}
效果: