编写一个程序,将链表中的学生英语成绩单存放到一个树集中,按成绩自动排序,并输出排序结果
时间: 2024-03-05 13:49:34 浏览: 147
好的,以下是一个 Java 的示例程序,实现了将链表中的学生英语成绩单存放到 TreeSet 中,并按成绩自动排序的功能:
```java
import java.util.*;
class Student implements Comparable<Student> {
private String name;
private int score;
public Student(String name, int score) {
this.name = name;
this.score = score;
}
public String getName() {
return name;
}
public int getScore() {
return score;
}
@Override
public int compareTo(Student other) {
return Integer.compare(score, other.score);
}
@Override
public String toString() {
return name + ": " + score;
}
}
public class Main {
public static void main(String[] args) {
// 创建学生列表
List<Student> students = new LinkedList<>();
students.add(new Student("Tom", 80));
students.add(new Student("Jerry", 90));
students.add(new Student("Alice", 85));
students.add(new Student("Bob", 70));
// 将学生列表中的数据存放到 TreeSet 中,按成绩自动排序
Set<Student> treeSet = new TreeSet<>(students);
// 输出排序结果
for (Student student : treeSet) {
System.out.println(student);
}
}
}
```
程序中定义了一个 `Student` 类,包含两个属性:姓名和成绩。这个类实现了 `Comparable` 接口,重写了 `compareTo` 方法,按照成绩进行比较。
程序首先创建了一个学生列表,然后将列表中的数据存放到一个 TreeSet 中,因为 TreeSet 会自动进行排序,所以这里不需要手动排序了。最后,程序遍历 TreeSet 并输出排序结果。
输出结果为:
```
Bob: 70
Tom: 80
Alice: 85
Jerry: 90
```
输出结果按照成绩从小到大排序。
阅读全文