利用Lambda传入排序行为,代码如下:
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
public class Sort {
public static void main(String[] args) {
// TODO Auto-generated method stub
List<Integer> list = new ArrayList<Integer>();
list.addAll(Arrays.asList(11, 3, 4));
//三种排序方式
//1.8以前的排序方式,当然也可以构造集合中元素类的排序方法
Collections.sort(list, new Comparator<Integer>() {
@Override
public int compare(Integer o1, Integer o2) {
if(o1 < o2) return 1;
else return -1;
}
});
//利用lambda传入排序行为,下面两种方式都可以
list.sort((Integer x, Integer y) -> x < y? 1 : -1);
Collections.sort(list, (Integer x, Integer y) -> x < y? 1 : -1);
System.out.println(list);
}
}
运行结果为: