TreeSet如何从大到小排序
时间: 2024-10-24 10:15:20 浏览: 21
TreeSet是一种基于红黑树实现的有序集合,它自动维护元素的自然顺序(如果元素实现了Comparable接口),或者可以按照自定义的Comparator进行排序。如果你想让TreeSet从大到小排序,你需要提供一个Comparator,它的compare()方法应该返回正数表示第一个元素大于第二个元素。
以下是如何创建一个降序排列的TreeSet示例:
```java
import java.util.Comparator;
import java.util.TreeSet;
class YourComparableClass implements Comparable<YourComparableClass> {
// 实现compareTo方法,如 name属性的比较
@Override
public int compareTo(YourComparableClass other) {
return Integer.compare(other.getName(), this.getName()); // 按照name属性降序
}
}
// 创建TreeSet并指定Comparator
TreeSet<YourComparableClass> treeSet = new TreeSet<>(new Comparator<YourComparableClass>() {
@Override
public int compare(YourComparableClass o1, YourComparableClass o2) {
return -o1.compareTo(o2); // 使用负数反转自然顺序,达到降序效果
}
});
// 添加元素
treeSet.add(new YourComparableClass(...));
```
阅读全文