使用TreeMap集合实现对存入10位学生的Java成绩从小到大输出;学生类定义参考第3题,在第3题学生类的基础上增加Java成绩属性
时间: 2023-02-09 17:46:40 浏览: 272
SortedMap接口的实现-java技术及其应用第5章 收集与数据结构应用
首先,需要在学生类中增加一个Java成绩属性,并且需要重写学生类的compareTo方法,使得学生类支持按照Java成绩从小到大排序。
具体的实现方式如下:
```
import java.util.Map;
import java.util.TreeMap;
public class Student implements Comparable<Student> {
// 学生的其他属性,如学号、姓名等
private int javaScore;
public Student(int javaScore) {
this.javaScore = javaScore;
}
@Override
public int compareTo(Student o) {
return this.javaScore - o.javaScore;
}
}
public class Main {
public static void main(String[] args) {
Map<String, Student> students = new TreeMap<>();
// 假设学生的学号是唯一的,所以可以使用学号作为学生在TreeMap中的键
students.put("001", new Student(80));
students.put("002", new Student(90));
students.put("003", new Student(70));
students.put("004", new Student(60));
students.put("005", new Student(85));
students.put("006", new Student(95));
students.put("007", new Student(75));
students.put("008", new Student(65));
students.put("009", new Student(87));
students.put("010", new Student(97));
for (Map.Entry<String, Student> entry : students.entrySet()) {
System.out.println("学号:" + entry.getKey() + ",Java成绩:" + entry.getValue().javaScore);
}
}
}
```
运行上述代码后,会输出所有学生的学号和Java成绩,并且按照Java成绩从小到大排序。
阅读全文