【JAVA8】Set排序四種寫法
阿新 • • 發佈:2019-02-19
工作中遇到,寫了很久以前的寫法,師兄給了很多建議,於是整理了一下。孔子曰:“你知道茴香豆的茴字有幾種寫法嗎?”
第一種,平常的寫法:
public class App { public static void main( String[] args ) { Set<String> set = new HashSet<>(); set.add("20180101"); set.add("20180102"); set.add("20180103"); set.add("20180104"); set.add("20180105"); 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()); } }
第二種,lambda:
public class App { public static void main( String[] args ) { Set<String> set = new HashSet<>(); set.add("20180101"); set.add("20180102"); set.add("20180103"); set.add("20180104"); set.add("20180105"); Set<String> sortSet = new TreeSet<String>((o1, o2) -> o2.compareTo(o1)); sortSet.addAll(set); System.out.println(set.toString()); } }
第三種:
public class App { public static void main( String[] args ) { Set<String> set = new HashSet<>(); set.add("20180101"); set.add("20180102"); set.add("20180103"); set.add("20180104"); set.add("20180105"); Set<String> sortSet = new TreeSet<String>(Comparator.reverseOrder()); sortSet.addAll(set); System.out.println(set.toString()); } }
第四種:java8流的方式:
public class App
{
public static void main( String[] args ) {
Set<String> set = new HashSet<>();
set.add("20180101");
set.add("20180102");
set.add("20180103");
set.add("20180104");
set.add("20180105");
set.stream().sorted(Comparator.reverseOrder());
System.out.println(set.toString());
}
}