java set排序正序倒序
时间: 2023-06-05 14:47:36 浏览: 533
set集合实现排序
Java中的Set是一个无序的集合,不支持像List一样的按照索引位置排序的方法。但是可以使用TreeSet来实现有序的Set集合。TreeSet是一个有序的集合,它默认按照元素的自然排序方式(Comparable接口)来排序,也可以通过传递Comparator对象来自定义排序方式。
要将TreeSet按照正序排列,只需要使用默认的构造方法创建一个TreeSet即可:Set<MyClass> mySet = new TreeSet<MyClass>(); 这样插入的元素会根据实现Comparable接口的compareTo方法自动排序。
如果需要按照自己定义的排序方式来排序,可以实现Comparator接口来比较元素。例如:
```
Set<MyClass> mySet = new TreeSet<MyClass>(new Comparator<MyClass>() {
@Override
public int compare(MyClass o1, MyClass o2) {
return o1.getAge() - o2.getAge(); //按照年龄从小到大排序
}
});
```
要将TreeSet按照倒序排列,可以使用TreeSet的descendingSet()方法将集合反转。例如:
```
Set<MyClass> mySet = new TreeSet<MyClass>(Collections.reverseOrder());
mySet.add(xxx);
Set<MyClass> reverseSet = ((TreeSet<MyClass>) mySet).descendingSet();
```
阅读全文