0
기본적으로 Java에서 문자열 모음을 반환하려고합니다. 하지만 ...Java : LinkedHashSet을 반환하십시오.
- 가 현재 폴더에 ".DB"모든 파일 이름이기 때문에 각 캐릭터는 고유해야합니다, 그래서이 컬렉션 LinkedHashSet의이어야한다 생각했다.
- 요소 (파일 이름)는 정확히 동일한 순서를 유지해야하므로 컬렉션의 주문 번호 중 하나를 선택할 수 있습니다.
내 메인 루틴은 사용자가 GUI 구성 요소 (아마 JList)에이 컬렉션을 표시하여 (.db 확장자없이)이 컬렉션 중 하나를 선택할 수 있도록합니다. 나는 완전히 뉴비 (당신이 볼 수 있듯이)이므로, LinkedHashSet보다 더 나은 옵션이 있다고 생각한다면 저에게 말해주십시오.
어떻게하면이 컬렉션을 기본 클래스에서 가져올 수 있습니까? 내가 지금까지있어 무엇
:
public Set GetDBFilesList() {
//returns ORDERED collection of UNIQUE strings with db filenames
LinkedHashSet a = new LinkedHashSet();
FilenameFilter dbFilter = (File file, String name) -> {
return name.toLowerCase().endsWith(".db");
};
String dirPath = "";
File dir = new File(dirPath);
File[] files = dir.listFiles(dbFilter);
if (files.length > 0) {
for (File aFile : files) {
a.add(aFile.getName());
}
}
return a;
}
감사합니다. 한 가지 질문 : File 객체 컬렉션이있는 경우 JList와 같은 GUI 구성 요소의 이름을 String으로 파싱하려면 어떻게해야합니까? –
문자열과 함께 콜렉션을 사용하거나 파일 오브젝트를 원하면 JList의 생성자에 전달하면됩니다. DefaultLitsModel가 작성됩니다. 항목은 File.ToString()의 가시 값을 가지며, path 또는 fileName이어야합니다. 다른 문자열, 아이콘, 스타일 등을 표시하려면 자신 만의 ListCellRenderer를 작성할 수 있습니다. – HectorLector