私は多くのエントリを持つ大規模なコレクションを持っています:Set<File> allFiles
。
次のアルゴリズムを使用してこのセットを反復処理することは実用的ですか?それを行うためのより良い方法はありますか?
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
セットは他の場所に事前入力されており、必ずしもFile.listFiles()メソッドを使用して収集されるとは限りません。