많은 항목이있는 큰 모음이 있습니다 : Set<File> allFiles
.FileNameExtensionFilter를 사용하여 파일 목록을 필터링 할 수 있습니까?
다음 알고리즘을 사용하여이 집합을 반복하는 것이 실제적인입니까? 더 좋은 방법이 있습니까? 경우 사람이 요구하고
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를 사용하여 수집합니다.
내 질문은 정말'FileNameExtensionFilter' 클래스는'javax.swing.FileFilter'를 확장한다는 사실에서 발생하고 소리 *'FilenameFilter' *를 구현하지 않습니다 더 * 정확한 나는 당신의 의견 – Redandwhite
감사! +1해라. – jolivier
에 대한 내 대답을 편집 * – Redandwhite