3
嵌套循环我有一段代码涉及条件的Java 8
List<Obj1> result = new ArrayList<Obj1>();
for (Obj1 one : list1) {
for (Obj2 two : list2) {
if (one.getStatus() == two) {
result.add(one);
}
}
}
在Java 8使用流,我可以这样
list1.stream().forEach(one -> {
if (list2.stream().anyMatch(two -> one.getStatus() == two)) {
result.add(one);
}
});
写能这样大大简化。
这两个代码片段并不相同。第二个就像在第一个“添加”之后有一个“break”。 – Holger
为什么使用流如果你的旧代码只是工作?流就像任何新的,闪亮的功能f:为了使用f而使用f不是使用f的方式;做这个,你是f。 – fge
@fge - 因为流可以免费进行并行处理。 – OldCurmudgeon