TreeSet 排序
时间: 2024-04-30 22:24:26 浏览: 99
TreeSet 是一个有序的集合,它会按照元素的自然顺序或者指定的比较器顺序进行排序。当 TreeSet 中的元素实现 Comparable 接口时,TreeSet 就会按照元素自然顺序进行排序。如果 TreeSet 中的元素没有实现 Comparable 接口,那么在创建 TreeSet 时必须提供一个比较器,用于指定元素的排序规则。
下面是一个使用 TreeSet 进行排序的例子,假设有一个 Student 类,它包含了学生的姓名和成绩:
```java
import java.util.TreeSet;
public class TreeSetDemo {
public static void main(String[] args) {
// 创建一个按照成绩从高到低排序的 TreeSet
TreeSet<Student> set = new TreeSet<>((s1, s2) -> s2.score - s1.score);
// 添加几个学生
set.add(new Student("Tom", 90));
set.add(new Student("Jerry", 80));
set.add(new Student("Alice", 95));
set.add(new Student("Bob", 85));
// 输出排序后的学生列表
for (Student student : set) {
System.out.println(student.name + " " + student.score);
}
}
static class Student {
String name;
int score;
public Student(String name, int score) {
this.name = name;
this.score = score;
}
}
}
```
在这个例子中,我们创建了一个按照成绩从高到低排序的 TreeSet,并向其中添加了几个学生。由于 TreeSet 是有序的,所以在遍历 TreeSet 时,学生会按照成绩从高到低的顺序输出。
阅读全文