Bonjour,

je souhaite trier une liste d'objets de la forme ArrayList<Boite>.
La class Boite est comme suit(par commodité les arguments sont publics):
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
class Boite{
        public int profondeur;
	public int largeur;
	public int hauteur;
 
       public Boite(int profondeur, int largeur, int hauteur){
		this.profondeur = profondeur;
		this.largeur = largeur;
		this.hauteur = hauteur;
	        }
        }
En fait, j'aimerais récupérer 3 nouvelles listes, chacune triée selon la largeur de la boite, hauteur puis profondeur.

Le probleme c'est que j'ai fait 1 seul tri (selon la largeur), en utilisant l'interface Comparator et en implementant la methode compare(Boite b1, Boite b2), comme ceci :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
	public int compare(Boite b1, Boite b2){
		return b1.largeur - b2.largeur;
 
	}
Et ensuite je fais :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
Comparator<Boite> z = new Boite(0,0,0);	
Collections.sort(listeBoites, z);
Mais est-il possible d'implementer compare(Boite b1,Boite p2) pour pouvoir comparer ensuite suivant la hauteur, et la profondeur sans avoir à creer 3 class pour implementer Comparator de 3 façons differentes?

Toute aide serait la bienvenue
Merci d'avance.