jdk8使用lambda表达式排序

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(){

            @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]

你可能感兴趣的:(JDK新特性)