Lambda表达式对集合排序

    @Test
    public void test1(){
        List<Employee> employees = Arrays.asList(
            new Employee("张三", 18, 9999),
            new Employee("李四", 38, 4999),
            new Employee("王五", 50, 6999),
            new Employee("赵六", 16, 7999),
            new Employee("田七", 8, 8999)
    );
        Collections.sort(employees, (e1, e2) -> {
            if(e1.getAge() == e2.getAge()){
                return e1.getName().compareTo(e2.getName());
            }else {
                return Integer.compare(e1.getAge(), e2.getAge());
            }
        } );
    }

上面是按照年龄升序,如果要降序那就下面这样

        Collections.sort(employees, (e1, e2) -> {
            if(e1.getAge() == e2.getAge()){
                return e1.getName().compareTo(e2.getName());
            }else {
                return -Integer.compare(e1.getAge(), e2.getAge());
            }
        } );

版权声明:本文为qq_36939013原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。