Java Set排序详解(5种Set排序方式)

Java Set排序详解(5种Set排序方式)-mikechen

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集合(万字图文全面详解)

评论交流
    说说你的看法