我有一个包含许多条目的大型集合:Set<File> allFiles
.
使用以下算法迭代此 Set是否可行?有更好的方法吗?
Set<File> allFiles = // ...100,000+ entries
Set<File> filteredList = new LinkedHashSet<File>();
FileNameExtensionFilter filter = new FileNameExtensionFilter("Extensions accepted", "a", "b", "c");
for (File file : allFiles) {
if (filter.accept(file)) {
filteredList.add(file);
}
}
如果有人问,allFiles
Set 会在其他地方预先填充,不一定使用 File.listFiles() 方法收集。