JAVA7----------方法一:
List<Integer> names = Arrays.asList(10000, 44, 5555, 4463,45);
Collections.sort(names, new Comparator<Integer>() {
@Override
public int compare(Integer a, Integer b) {
return b.compareTo(a);
}
});
//排序输出
for(Integer name:names){
System.out.println(name);
}
输出结果:
10000
5555
4463
45
44
JAVA8--------方法二:
List<Integer> names = Arrays.asList(10000, 44, 5555, 4463,45);
在Java 8 中你就没必要使用这种传统的匿名对象的方式了,Java 8提供了更简洁的语法,lambda表达式:
Collections.sort(names, (String a, String b) -> {
return b.compareTo(a);
});
return b.compareTo(a);
});
看到了吧,代码变得更段且更具有可读性,但是实际上还可以写得更短:
对于函数体只有一行代码的,你可以去掉大括号{}以及return关键字,但是你还可以写得更短点:
Collections.sort(names, (String a, String b) -> b.compareTo(a));
对于函数体只有一行代码的,你可以去掉大括号{}以及return关键字,但是你还可以写得更短点:
Collections.sort(names, (a, b) -> b.compareTo(a));