По сути, я пытаюсь вернуть набор строк в Java. Но...
- каждая строка должна быть уникальной, потому что все они являются именами файлов «.db» в текущей папке, поэтому я подумал, что эта коллекция должна быть LinkedHashSet.
- Элементы (имена файлов) должны поддерживать один и тот же порядок, поэтому я могу выбрать один из них по его порядковому номеру в коллекции.
Моя основная процедура покажет эту коллекцию в компоненте графического интерфейса (возможно, 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;
}