【发布时间】:2020-10-26 13:11:52
【问题描述】:
在 Java 中使用 lambda,例如调用 collection.removeif(item -> item.isOptionSet()) 时,与显式编写相比,对性能或内存使用有任何明显的负面影响
for (Iterator it = collection.iterator(); it.hasNext();) {
if (it.next().isOptionSet()) {
it.remove();
}
}
从性能/内存的角度来看,上面的 lambda 是否类似于
collection.removeIf(new Predicate<Item>() {
@Override
public boolean test(Item item) {
return item.isOptionSet();
}
});
?
【问题讨论】: