У меня есть ArrayList, заполненный результатами, каждый результат имеет атрибут с именем resultValue, в котором хранится double. Я хочу, чтобы отсортировать ArrayList на основе значения атрибута resultValue и иметь возможность распечатать его, как это:Хотите отсортировать ArrayList на основе значения атрибута
Resultname с resultValue
Resultname с resultValue
- Resultname с resultValue
Мой вопрос: Почему это не работает? и как мне заставить его работать?
До сих пор Ive сделал метод compareTo в моем классе с именем Result. Это выглядит следующим образом:
public int compareTo(Result otherResult) {
if (this.resultValue > otherResult.resultValue()) {
return 1;
} else if (this.resultValue < otherResult.resultValue()) {
return -1;
} else {
return 0;
}
}
И в моем классе, который содержит ArrayList, который хранит результаты я сделал этот метод:
void typeOutOrderedList() {
Collections.sort(resultlist);
for (int i = 0; i < resultlist.size(); i++) {
Result res = resultlist.get(i);
System.out.println(res.competitionStartNumber() + " has the result" + res.resultValue());
}
}
Вы создали 'Result' интерфейс' Comparable'? – Vlad
@Vlad общественный класс Результат реализует Сопоставимые У меня есть –
@ A.Bohlund Вы должны изменить свой класс размораживание в класс 'Результат общественного реализует Сопоставимые' –
schwobaseggl