Я пытаюсь отсортировать файлы по их расширениям (и если они совпадают с расширениями по имени файла), используя мою собственную реализацию quickSort.
Поэтому, когда я сортирую небольшую группуФайлы работают нормально, но когда я использую большую группу, по какой-то причине некоторые файлы исчезают из списка результатов.Я не могу найти причину для этого.(сама сортировка работает как положено ... проблема только с отсутствующими файлами).Есть идеи?
public static ArrayList<Extention> quickSort(ArrayList<Extention> list)
{
if (list.size() <= 1)
return list; // Already sorted
ArrayList<Extention> sorted = new ArrayList<>();
ArrayList<Extention> lesser = new ArrayList<>();
ArrayList<Extention> greater = new ArrayList<>();
Extention pivot = list.get(list.size()-1);
for (int i = 0; i < list.size()-1; i++)
{
//int order = list.get(i).compareTo(pivot);
if (list.get(i).getExtention().compareTo(pivot.getExtention()) < 0)
lesser.add(list.get(i));
else if (list.get(i).getExtention().compareTo(pivot.getExtention()) == 0){
if (list.get(i).getFileName().compareTo(pivot.getFileName()) < 0){
lesser.add(list.get(i));
}
}
else{
greater.add(list.get(i));}
}
lesser = quickSort(lesser);
greater = quickSort(greater);
lesser.add(pivot);
lesser.addAll(greater);
sorted = lesser;
return sorted;
}