我需要過濾大小爲1000或更大的列表並從中獲取子列表。 我不想使用迭代器。在不使用迭代器的情況下過濾列表
1)目前我正在迭代List並使用Java進行比較。這是一項耗時的工作。我需要提高我的代碼的性能。
2)我也嘗試使用Google Collections(Guava),但我認爲它也會在後臺進行迭代。
Predicate<String> validList = new Predicate<String>(){
public boolean apply(String aid){
return aid.contains("1_15_12");
}
};
Collection<String> finalList =com.google.common.collect.Collections2.filter(Collection,validList);
任何人都可以建議我怎麼能得到更快的子表不反覆或者,如果使用迭代器我會得到比較結果更快。
1000不是一個很大的數字。它是一個順序訪問的列表,迭代是不可避免的。 – Nivas
我認爲迭代器在過濾期間是不可避免的,因爲每個元素都必須被檢查。 –
@Nivas:你的評論應該是一個回答 –