在老版本的Java中,需要给Collections.sort( )传入一个对象和比较器来实现按照指定顺序排列,一般是创建一个匿名的比较器对象传递给sort方法。
在Java 8 中,我们可以利用lambda表达式更简洁的实现上述排序。具体代码如下:
import java.util.Arrays;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
public class Solution
{
public static void main(String[] args)
{
List<String> names = Arrays.asList("Lily","Mike","Angel","Judy");
//方法一:匿名对象
// Collections.sort(names, new Comparator<String>(){
// @Override
// public int compare(String a, String b) {
// return a.compareTo(b);
// }
// });
//方法二:lambda表达式
// Collections.sort(names,(String a, String b)->a.compareTo(b));
//方法三:lambda表达式(降序)
Collections.sort(names,(String a, String b)->b.compareTo(a));
for(String s:names) {
System.out.println(s);
}
}
}