在Java中,`Set`集合的排序可以通过以下几种方式实现:
自然排序
当`Set`中的素实现了`Comparable`接口时,`TreeSet`会根据素的自然顺序进行排序。
import java.util.TreeSet;
public class Main {
public static void main(String[] args) {
TreeSet
set = 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) {
TreeSet
set = new TreeSet<>(new Comparator () { @Override
public 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) {
Set
set = new HashSet<>(); set.add(20);
set.add(16);
set.add(22);
set.add(14);
set.add(10);
set.add(28);
List
list = new ArrayList<>(set); Collections.sort(list);
System.out.println(list);
}
}
以上示例展示了如何使用`TreeSet`进行排序。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://sigusoft.com/bj/135117.html