使用Java中的某些特殊条件对列表进行排序[重复]

问题描述 投票:0回答:1

我们如何编写程序,使用流过滤年龄大于22岁的员工列表并按名字排序。

必须有效地展示Java 8的最终功能。

我只是尝试如下:-

import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;

public class MaximumUsingStreamMain {
    public static void main(String args[])
    {
        List<Employee> employeeList = createEmployeeList();
        List<String> employeeFilteredList = employeeList.stream()
                  .filter(e->e.getAge()>22)
                  .map(Employee::getName)
                  .collect(Collectors.toList());

        employeeFilteredList.forEach((name)-> System.out.println(name));

    }

    public static List<Employee> createEmployeeList()
    {
        List<Employee> employeeList=new ArrayList<>();

        Employee e1=new Employee("John",21);
        Employee e2=new Employee("Martin",19);
        Employee e3=new Employee("Mary",31);
        Employee e4=new Employee("Stephan",18);
        Employee e5=new Employee("Gary",26);

        employeeList.add(e1);
        employeeList.add(e2);
        employeeList.add(e3);
        employeeList.add(e4);
        employeeList.add(e5);

        return employeeList;
    }
}
java list sorting
1个回答
2
投票

您可以使用getter名称来调用排序

.sorted(Comparator.comparing(Employee::getName)))

或如果要排序的列表已经具有可比性,则仅排序。

.sorted()
© www.soinside.com 2019 - 2024. All rights reserved.