我有一个对象 A 的列表。这个列表中的每个对象 A 包含一个对象 B 的列表,并且对象 B 包含一个对象 C 的列表。我想使用 Java 8 中的流来过滤具有属性名称的对象 C,以下是如何使用流编写代码以避免嵌套循环的方法:
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;
}
}
}
}
flatMap
在 Java 10 之前是急切的,不像 for 循环。 - EugeneA
处停止,只是子列表的处理没有短路。 - HolgerorElse
被触发了,这意味着在你的列表中没有这样的元素,就这么简单。 - Eugene