java - 使用 java 8 流从内部列表中检索数据

标签 java collections java-8 java-stream

我有 List of Employees ,每个员工都有 Departments 列表。我想让列表部门归一个员工所有。这是我的代码,

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

有人可以帮忙吗?

最佳答案

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

首先按名称过滤并找到第一个。如果存在,则将其映射到那些部门,否则生成一个空列表。

关于java - 使用 java 8 流从内部列表中检索数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53722192/

相关文章:

java - 优化大型集合的垃圾收集

java - .NET相当于Java的TreeSet操作tailSet和headSet吗?

java - 检索文件夹和子文件夹以使用尾递归在 Java 中读取文件

java - 如何处理 Android 上的应用程序从免费版本升级到付费版本

java - 我收到 System.out.printf() 错误

java - 在 HashMap 中排序

java - 如何从给定范围构建 LocalDate 列表?

java - 不允许使用站点注入(inject)扩展方法到 Java 8 的设计考虑是什么?

java - Spring Boot 和 Hibernate 验证失败

java - Web 应用程序 java 中的配置属性