我需要过滤大小为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:你的评论应该是一个回答 –