gpt4 book ai didi

java - 使用 java8 流从多级内部列表中检索数据

转载 作者:行者123 更新时间:2023-11-30 06:42:17 25 4
gpt4 key购买 nike

我有 Employee 列表,每个员工都有一个 Department 列表,每个部门都有一个 location 列表,我想根据某些过滤条件获取位置列表。

这是我的代码 -

for (Employee empl : employeeList) {
if(empl.getEmployeeName().equals("XXX")) {
for (Department dept : empl.getDepartmets()) {
if(dept.getDepartmentName().equals("Sales")) {
return dept.getLocations();
}
}
}
}

我想在 java8 steam api 上处理这个,有人能帮忙吗?

最佳答案

employeeList.stream()
.filter(x -> "XXX".equals(x.getEmployeeName()))
.flatMap(x -> x.getDepartmets().stream().filter(y -> "Sales".equals(y.getDepartmentName())))
.findFirst()
.map(Department::getLocations)
.orElse(Collections.emptyList());

唯一的一点是 flatMap 之前并不是真正的懒惰。如果你真的关心这个,我假设 locations 是这里某种类型的 List

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

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com