我有一對文件夾。對共享文件名,但具有不同的擴展名(在這種情況下,它們是.txt和.png對)。我正在尋找將它們存儲到HashMap <文件,文件>成對。這是我做過什麼,找到對的:更有效的文件對排序
LinkedList<File> fileList = new LinkedList<File>(Arrays.asList(fileArray));
LinkedList<File> alreadyCompared = new LinkedList<File>();
HashMap<File, File> filePairs = new HashMap<File, File>();
for (Iterator<File> itr1 = fileList.iterator(); itr1.hasNext();) {
File comparator = itr1.next();
if (!alreadyCompared.contains(comparator)) {
String stringComparator = comparator.getName().split("\\.")[0];
alreadyCompared.add(comparator);
for (Iterator<File> itr2 = fileList.iterator(); itr2.hasNext();) {
File compared = itr2.next();
if (!alreadyCompared.contains(compared)) {
String stringCompared = compared.getName().split("\\.")[0];
if (stringComparator.equals(stringCompared)) {
if (comparator.getName().endsWith("txt")) {
filePairs.put(comparator, compared);
} else {
filePairs.put(compared, comparator);
}
}
}
}
}
}
return filePairs;
現在,這需要大量的時間當我有超過1000個文件進行排序,我想找到做的更有效的方法它。我還可以用其他方式對這些文件進行排序
非常感謝!
我有點迷路。問題是隻用相同的名稱對文件進行分組(忽略擴展名)? – 2014-10-20 13:59:47
只是猜測,如果你認爲你在txt中的文件是在PNG中,爲什麼要比較所有這些文件而不直接檢索png? – KBorja 2014-10-20 14:01:27
爲什麼要存儲文件?爲什麼不存儲文件的名稱,然後根據需要獲取它們? – brso05 2014-10-20 14:05:05