Trier une arraylist
Résolu/Fermé
occhilupo
Messages postés
8
Date d'inscription
lundi 26 novembre 2007
Statut
Membre
Dernière intervention
15 novembre 2010
-
10 janv. 2008 à 13:53
coffee - 4 juil. 2011 à 16:30
coffee - 4 juil. 2011 à 16:30
A voir également:
- Trier arraylist java
- Waptrick java football - Télécharger - Jeux vidéo
- Jeux java itel football - Télécharger - Jeux vidéo
- Excel trier par ordre croissant chiffre - Guide
- Java apk - Télécharger - Langages
- Waptrick java voiture - Télécharger - Jeux vidéo
7 réponses
Reivax962
Messages postés
3672
Date d'inscription
jeudi 16 juin 2005
Statut
Membre
Dernière intervention
11 février 2021
1 011
10 janv. 2008 à 14:51
10 janv. 2008 à 14:51
Bonjour,
Il faut que ta classe joueur implémente l'interface IComparable.
Dans ta classe "joueur", il faudrait que tu crées une méthode compareTo(Joueur autreJoueur) qui renvoie 1 si le joueur "This" est plus grand que le joueur autreJoueur (grand au sens que tu désires), 0 si les joueurs sont à égalité, -1 sinon.
Ensuite, il te suffit, avec ton arraylist (que je n'appellerais pas Joueur à ta place ! Tu donnes le même nom qu'à la classe Joueur, ce n'est pas une bonne idée), d'appeler sa méthode .Sort()
Ce qui donnerait quelque chose comme ça pour la classe Joueur :
Xavier
Il faut que ta classe joueur implémente l'interface IComparable.
Dans ta classe "joueur", il faudrait que tu crées une méthode compareTo(Joueur autreJoueur) qui renvoie 1 si le joueur "This" est plus grand que le joueur autreJoueur (grand au sens que tu désires), 0 si les joueurs sont à égalité, -1 sinon.
Ensuite, il te suffit, avec ton arraylist (que je n'appellerais pas Joueur à ta place ! Tu donnes le même nom qu'à la classe Joueur, ce n'est pas une bonne idée), d'appeler sa méthode .Sort()
Ce qui donnerait quelque chose comme ça pour la classe Joueur :
public class Joueur Implements IComparable { int reg; int departement; int point; String nom; ....... Public Int CompareTo(Joueur autreJoueur) { int resultat; if (this.point > autrejoueur.point) resultat = 1; if (this.point < autrejoueur.point) resultat = -1; if (this.point == autrejoueur.point) resultat = 0; return resultat; } }Et comme ça pour ton arraylist :
public class execl{ ArrayList LesJoueurs = new ArrayList(); ........ LesJoueurs.Add(); LesJoueurs.Add(); LesJoueurs.Add(); LesJoueurs.Add(); ........ LesJoueurs.Sort(); }Si tu veux trier autrement, modifie juste la fonction CompareTo() pour mettre ce que tu veux dedans.
Xavier