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