У меня есть несортированный связанный список. Чтобы отсортировать его, я подумал, что я поместил значения в TreeSet с предоставленным компаратором, а затем вернул эти значения в качестве нового связанного списка. Но это терпит неудачу.Java: проблема с TreeSet и LinkedList
Компаратор:
public class SortSpeciesByCommonName implements Comparator<Species> {
/**
* a negative integer, zero, or a positive integer as the first argument is less than, equal to, or greater than the second.
*/
@Override
public int compare(Species arg0, Species arg1) {
return arg0.getName().compareTo(arg1.getName()); //arg.getName() is String
}
}
Сортировка функции:
public static LinkedList<Species> sortedAnimals(LinkedList<Species> animals) {
TreeSet<Species> sortedBreeds = new TreeSet<Species>(new SortSpeciesByCommonName());
sortedBreeds.addAll(animals);
return new LinkedList<Species>(sortedBreeds);
}
При проверке значения, все, как представляется, по-прежнему в порядке ввода.
Пожалуйста, добавьте класс вида и некоторые тестовые примеры. Я уменьшил класс вида до простых строк, и все работает нормально. – sanscore