J'ai une ArrayList remplie de résultats, chaque résultat a un attribut nommé resultValue qui stocke un double. Je veux trier la liste de tableaux en fonction de la valeur de l'attribut ResultValue et pouvoir l'imprimer comme ceci:Vous voulez trier ArrayList en fonction de la valeur de l'attribut
ResultName avec ResultValue
ResultName avec ResultValue
- ResultName avec ResultValue
Ma question est: pourquoi cela ne fonctionne-t-il pas? et Comment puis-je le faire fonctionner?
Jusqu'à présent, j'ai fait une méthode compareTo dans ma classe nommée Résultat. Il ressemble à ceci:
public int compareTo(Result otherResult) {
if (this.resultValue > otherResult.resultValue()) {
return 1;
} else if (this.resultValue < otherResult.resultValue()) {
return -1;
} else {
return 0;
}
}
Et dans ma classe qui contient la liste de tableaux qui stocke les résultats que je l'ai fait cette méthode:
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());
}
}
Avez-vous fait 'Result' implémenter l'interface' Comparable'? – Vlad
@Vlad public class Résultat implémente Comparable je –
@ A.Bohlund Vous devez changer votre définition de classe 'public class Résultat implémente Comparable' –
schwobaseggl