Java8新特性 对集合进行特定规则的排序

Java8 对集合进行特定规则的排序

 /**
     * 集合按特定规则排序
     */

    @Test
    public void test2() {
        List<Employee> list = Arrays.asList(
                new Employee("张三", 13, 5000.00),
                new Employee("李四", 13, 6000.00),
                new Employee("王五", 15, 7000.00),
                new Employee("赵六", 16, 8000.00)
        );

        Collections.sort(list, (e1, e2) -> {
//            对年龄进行比较排序 升序
            if (e1.getAge().equals(e2.getAge())) {
//            年龄相同时对薪资进行比较  降序
                return e2.getSalary().compareTo(e1.getSalary());
            } else {
//            对年龄进行比较排序 升序
                return Integer.compare(e1.getAge(), e2.getAge());
            }
        });

        list.forEach(System.out::println);

    }

执行结果:
Employee{name=‘李四’, age=13, salary=6000.0}
Employee{name=‘张三’, age=13, salary=5000.0}
Employee{name=‘王五’, age=15, salary=7000.0}
Employee{name=‘赵六’, age=16, salary=8000.0}

你可能感兴趣的:(JavaSE重点知识详解)