Java Set排序经常在工作中使用到,下面我就重点详解5种Java Set排序@mikechen
使用SortedSet
SortedSet是一个有序的Set集合,其中的元素按照特定的顺序进行排序。
SortedSet接口继承自Set接口,并添加了许多新的方法,如first()、last()、headSet()、tailSet()等,以便对集合进行排序。
例如:
SortedSet<String> sortedSet = new TreeSet<String>(set);
使用List
将Set转换为List后,可以使用Java中的Collections.sort()方法进行排序。
例如:
List<String> list = new ArrayList<String>(set);
Collections.sort(list);
使用TreeMap
可以使用TreeMap将Set中的元素作为Key进行排序。
例如:
Map<String, Object> map = new TreeMap<String, Object>();
for (String s : set) {
map.put(s, null);
}
Set<String> sortedSet = map.keySet();
使用Stream
可以使用Java 8中引入的Stream API来对Set进行排序。
例如:
Set<String> sortedSet = set.stream().sorted().collect(Collectors.toCollection(LinkedHashSet::new));
使用Comparator
可以通过实现Comparator接口来对Set进行自定义排序。
例如:
Comparator<String> comparator = new Comparator<String>() {
public int compare(String s1, String s2) {
return s2.compareTo(s1);
}
};
Set<String> sortedSet = new TreeSet<String>(comparator);
sortedSet.addAll(set);
以上就是Java Set排序详解,更多集合内容,请查看:Java集合(万字图文全面详解)