它困扰我(出于性能原因),我不能在没有首先创建流的情况下调用allMatch,anyMatch列表。所以我开始创建这样的实用方法:allMatch,anyMatch在没有创建流的列表上
public static <T> boolean anyMatch(List<T> list, Predicate<T> predicate) {
for (T element : list) {
if (predicate.test(element)) {
return true;
}
}
return false;
}
有没有简单的方法?
编辑我不只是担心单个对象的成本。如果你看一下Stream.anyMatch的源码,你会发现很多事情在这种简单的情况下是不必要的。
那么,Java8以前的其他几个库已经解决了这些问题。 –
尝试使用“Stream”时会出现什么样的性能问题? –
@JacobG。可能没什么严肃的,但它仍然困扰我。 Stream显然在很简单的情况下做了很多不需要的事情。 – lbalazscs