在Java中,`Set`集合的排序可以通过以下几种方式实现:
自然排序
当`Set`中的元素实现了`Comparable`接口时,`TreeSet`会根据元素的自然顺序进行排序。
import java.util.TreeSet;public class Main {public static void main(String[] args) {TreeSetset = new TreeSet<>(); set.add(20);set.add(16);set.add(22);set.add(14);set.add(10);set.add(28);for (Integer i : set) {System.out.println(i);}}}
自定义比较器排序
当`Set`中的元素没有实现`Comparable`接口时,可以通过提供一个`Comparator`对象来指定排序规则。

import java.util.Comparator;import java.util.TreeSet;public class Main {public static void main(String[] args) {TreeSetset = new TreeSet<>(new Comparator () { @Overridepublic int compare(Integer o1, Integer o2) {return o1 - o2;}});set.add(20);set.add(16);set.add(22);set.add(14);set.add(10);set.add(28);for (Integer i : set) {System.out.println(i);}}}
使用`Collections.sort()`方法
如果`Set`中的元素是`Integer`类型,也可以先将`Set`转换为一个`List`,然后使用`Collections.sort()`方法进行排序。
import java.util.ArrayList;import java.util.Collections;import java.util.HashSet;import java.util.List;import java.util.Set;public class Main {public static void main(String[] args) {Setset = new HashSet<>(); set.add(20);set.add(16);set.add(22);set.add(14);set.add(10);set.add(28);Listlist = new ArrayList<>(set); Collections.sort(list);System.out.println(list);}}
以上示例展示了如何使用`TreeSet`进行排序。
