Обновление: я заменил метод swap на метод Collection.swap, и теперь все работает. Спасибо за помощь.
У меня есть алгоритм сортировки выбором, целью которого является сортировка баскетболистов по возрасту. programPlayerList — это несортированный список массивов баскетболистов, взятых из CSV-файла, который был извлечен из Интернета. programSortedPlayerList — это список-массив, который должен содержать игроков в зависимости от их отсортированного возраста. swap — это метод, который меняет местами объекты игрока. Однако, когда я запускаю код, игроки неправильно отсортированы. Что не так с моим кодом?
public static ArrayList<Player> sortByAge() {
for(int i = 0; i < programPlayerList.size(); i++) {
programSortedPlayerList.add(programPlayerList.get(i));
}
for(int i = 0; i < programSortedPlayerList.size()-1; i++) {
int indexofmin = i;
for(int j = i+1; j < programSortedPlayerList.size(); j++) {
if(programSortedPlayerList.get(j).getAge() < programSortedPlayerList.get(indexofmin).getAge()) {
indexofmin = j;
}
}
swap(programSortedPlayerList.get(i), programSortedPlayerList.get(indexofmin));
}
return programSortedPlayerList;
}
Метод замены Возраст печати Вывод алгоритма а>
swap
выглядит неправильно (поскольку вы передаете ему ссылки). - person Elliott Frisch   schedule 28.01.2020