Java8中set的4种排序方法


第一种方法:

Set<String> set = new HashSet<>();
set.add("s1");
set.add("s3");
set.add("s2");
set.add("s4");
Set<String> sortSet = new TreeSet<String>(){
 @Override
 public int compare(String obj1,String obj2)){
     // 降序排列
     return obj2.compareTo(obj1); 
    }
}
sortSet.addAll(set);

第二种方法:

Set<String> set = new HashSet<>();
set.add("s1");
set.add("s3");
set.add("s2");
set.add("s4");
// lambda 表达式
Set<String> sortSet = new TreeSet<String>((obj1,obj2) -> obj2.compareTo(obj1)); 
sortSet.addAll(set);

第三种方法:

Set<String> set = new HashSet<>();
set.add("s1");
set.add("s3");
set.add("s2");
set.add("s4");
// 倒序:Comparator.reverseOrder() 顺序:Comparator.naturalOrder()
// Map同理可以新建TreeMap
Set<String> sortSet = new TreeSet<String>(Comparator.reverseOrder()); 
sortSet.addAll(set);

第四种方法:

Set<String> set = new HashSet<>();
set.add("s1");
set.add("s3");
set.add("s2");
set.add("s4");
// Stream流写法
set.stream().sorted(Comparator.reverseOrder());

文章作者: Ian-He
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 Ian-He !
  目录