Я пытаюсь инвертировать массив списка голосов, чтобы уступить предпочтение (т. Е. Голос 2,4,1,3, после инвертированного 3,1,4,2. индексированное предпочтение - 3). Я считаю, что это можно сделать с помощью Collections, но список имеет разностный тип (тип Vote). Просто нужно руководствоваться тем, как я мог бы сортировать этот порядок предпочтений, когда я не могу использовать методы Collections на Vote.Неверная попытка инвертировать список массивов
public Vote invertVote() {
VoteList invVote = (VoteList) ((Vote) vote).copyVote();
Iterator<Integer> iter = invVote.iterator();
while(iter.hasNext()){
iter.next();
Collections.reverse(invVote);
}
return invVote;
}
Примечание. Голосование представляет собой набор целых чисел, представляющих единый голос. VoteList реализует голосование. copyVote() используется для создания глубокой копии голосования, чтобы не изменять его и возвращать новый объект Vote. Все еще застряла ошибка во время Collections.reverse (invVote)
Значит, у вас есть '' ArrayList ''? Где проблема с использованием '' Collections.reverse (list) ''? –
f1sh
Сортировка или реверс? Для сортировки связанных вопросов начинайте с этого ответа: http://stackoverflow.com/a/2477334/133645 – reto
Попытка, которая дает «метод reverse (list), неприменим для аргументов (Голосование). Попытка в конечном счете взять список integers (ArrayList) и вернуть его как тип Vote (инвертированная версия arraylist) – Abjilla22