它困擾我(出於性能原因),我不能在沒有首先創建流的情況下調用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