使用Java8流检索数据表单内部列表

时间:2018-12-11 10:31:22

标签: java collections java-8 java-stream

我有“员工列表”,每个员工中都有部门列表。我想让名单部门由一名员工负责。这是我的代码,

List<Employee> employeeList = new ArrayList<Employee>();
List<Department> departments = employeeList.stream().filter(x-> x.getEmployeeName().equals("XXX")).filter(y -> y.getDepartmets()).collect(Collectors.toList());

有人可以帮忙吗?

1 个答案:

答案 0 :(得分:5)

employeeList.stream()
            .filter(x -> "XXX".equals(x.getEmployeeName()))
            .findFirst()
            .map(Employee::getDepartmets)     
            .orElse(Collections.emptyList());

第一个filter的名称,然后找到第一个。如果存在,则将其映射到那些部门,否则生成一个空列表。