JAVA8中Set排序四种写法
下文笔者讲述java8中set排序的方法分享
Java8之Set排序的实现思路
方式1: 定义一个比较器 方式2: 编写一个Lambda比较器 方式3: 使用Comparator.reverseOrder()方法例:Set排序比较的示例
public class TestClass {
public static void main( String[] args ) {
Set<String> set = new HashSet<>();
set.add("20230808");
set.add("20230802");
set.add("20230803");
set.add("20230804");
set.add("20230805");
Set<String> sortSet = new TreeSet<String>(new Comparator<String>() {
@Override
public int compare(String o1, String o2) {
return o2.compareTo(o1);//降序排列
}
});
sortSet.addAll(set);
System.out.println(set.toString());
}
}
例2
public class TestClass
{
public static void main( String[] args ) {
Set<String> set = new HashSet<>();
set.add("20230808");
set.add("20230802");
set.add("20230803");
set.add("20230804");
set.add("20230805");
Set<String> sortSet = new TreeSet<String>((o1, o2) -> o2.compareTo(o1));
sortSet.addAll(set);
System.out.println(set.toString());
}
}
例3
public class TestClass
{
public static void main( String[] args ) {
Set<String> set = new HashSet<>();
set.add("20230808");
set.add("20230802");
set.add("20230803");
set.add("20230804");
set.add("20230805");
Set<String> sortSet = new TreeSet<String>(Comparator.reverseOrder());
sortSet.addAll(set);
System.out.println(set.toString());
}
}
例4:java8流的方式:
public class TestClass
{
public static void main( String[] args ) {
Set<String> set = new HashSet<>();
set.add("20230808");
set.add("20230802");
set.add("20230803");
set.add("20230804");
set.add("20230805");
set.stream().sorted(Comparator.reverseOrder());
System.out.println(set.toString());
}
}
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。


