可以这样实现:
- 首先需要在学生类中增加Java成绩属性。例如:
public class Student {
private String name;
private int age;
private int javaScore;
// 省略构造函数和getter、setter方法
}
- 创建一个类,实现
java.util.Comparator
接口,用于比较两个学生对象的Java成绩大小。例如:
public class StudentComparator implements Comparator<Student> {
@Override
public int compare(Student s1, Student s2) {
return s1.getJavaScore() - s2.getJavaScore();
}
}
- 创建一个
TreeMap
集合,并将上面实现的StudentComparator
作为参数传入构造函数。例如:
TreeMap<String, Student> students = new TreeMap<>(new StudentComparator());
- 创建10个学生对象,并使用
put
方法将它们放入TreeMap
集合中。例如:
students.put("s1", new Student("张三", 20, 89));
students.put("s2", new Student("李四", 21, 75));
// ...
- 使用
values
方法将TreeMap
集合中所有的学生对象取出,并使用for-each
循环输出。例如:
for (Student s : students.values()) {
System.out.println(s.getName() + " " + s.getJavaScore());
}
这样,学生的Java成绩就能够从小到大输出了。