我有一个对象列表 A。此列表中的每个对象 A 都包含对象 B 的列表,对象 B 包含对象 C 的列表。对象 C 包含一个我想用来使用 java 8 进行过滤的属性名称。
如何使用流在 Java 8 中编写以下代码以避免嵌套循环:
C c1 = null;
String name = "name1"
for (A a: listOfAObjects) {
for (B b: a.getList()) {
for (C c: b.getPr()) {
if (c.getName().equalsIgnoreCase(name)) {
c1= c;
break;
}
}
}
}
原文由 sk555 发布,翻译遵循 CC BY-SA 4.0 许可协议
你可以使用两个
flatMap
然后一个filter
然后你可以选择第一个或者如果没有结果返回null
: