用lambda表达式排序

在老版本的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(){
//			@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);
		}
		
	}
}

你可能感兴趣的:(Java编程)