jdk8使用lambda表达式排序
示例代码:实现对整数排序
package ouyf;
import java.util.Arrays;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
public class LambdaTest {
public static void main(String[] args) {
List<Integer> list = Arrays.asList(1, 12, 21, 3, 13);
System.out.println("sort前:" + list);
Collections.sort(list);
System.out.println("使用传统特性sort后:" + list);
Collections.sort(list, new Comparator<Integer>(){
@Override
public int compare(Integer o1, Integer o2) {
return o1.compareTo(o2);
}
});
System.out.println("使用传统特性sort后:" + list);
//
Collections.sort(list, (a, b) -> b.compareTo(a));
System.out.println("使用lambda表达式降序排序后:" + list);
list.sort((a, b) -> a.compareTo(b));
System.out.println("使用lambda表达式升序排序后:" + list);
}
}
运行结果如下:
sort前:[1, 12, 21, 3, 13]
使用传统特性sort后:[1, 3, 12, 13, 21]
使用传统特性sort后:[1, 3, 12, 13, 21]
使用lambda表达式降序排序后:[21, 13, 12, 3, 1]
使用lambda表达式升序排序后:[1, 3, 12, 13, 21]