java集合类之set的treeset之自定义排序规则
时间: 2023-04-25 12:05:13 浏览: 237
Java集合类中的TreeSet可以通过实现Comparator接口来自定义排序规则。具体步骤如下:
1. 创建一个实现Comparator接口的类,例如MyComparator。
2. 在MyComparator类中实现compare方法,该方法接收两个参数,表示需要比较的两个对象。根据自定义的排序规则,返回一个整数值,表示两个对象的大小关系。
3. 在使用TreeSet时,通过构造函数传入MyComparator对象,即可按照自定义的排序规则进行排序。
示例代码如下:
```
import java.util.Comparator;
import java.util.TreeSet;
public class Main {
public static void main(String[] args) {
// 创建一个TreeSet,并传入自定义的比较器
TreeSet<Integer> set = new TreeSet<>(new MyComparator());
// 添加元素
set.add(3);
set.add(1);
set.add(2);
// 输出结果
System.out.println(set); // [3, 2, 1]
}
}
class MyComparator implements Comparator<Integer> {
@Override
public int compare(Integer o1, Integer o2) {
// 按照数字大小的相反顺序进行排序
return o2 - o1;
}
}
```