编写一个java程序,将原来存放在LinkedList链表中的学生英语成绩单(包括学生姓名、英语成绩成绩属性)存放到一个TreeSet集合中,似的按成绩自动排序,并输出排序结果。
时间: 2024-02-20 09:01:22 浏览: 63
好的,我可以帮你解决这个问题。以下是Java程序的代码:
```java
import java.util.LinkedList;
import java.util.TreeSet;
public class Main {
public static void main(String[] args) {
LinkedList<Student> students = new LinkedList<>();
students.add(new Student("Alice", 85));
students.add(new Student("Bob", 90));
students.add(new Student("Charlie", 80));
students.add(new Student("David", 95));
TreeSet<Student> sortedStudents = new TreeSet<>(new StudentComparator());
sortedStudents.addAll(students);
for (Student student : sortedStudents) {
System.out.println(student.getName() + ": " + student.getScore());
}
}
}
class 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;
}
}
class StudentComparator implements java.util.Comparator<Student> {
public int compare(Student s1, Student s2) {
return s2.getScore() - s1.getScore();
}
}
```
这个程序首先创建一个包含学生信息的`LinkedList`链表,然后将其传递给一个`TreeSet`集合,并用`StudentComparator`类指定按成绩降序排序。最后,程序迭代输出排序结果。
希望我的回答能帮到你!
阅读全文