Tri de collections selon 3 critéres
Bonjour,
j'ai une ArrayList de produits que je veux trier selon le prix puis la désignation et enfin l'identifiant, si le prix est égal je trie par désignation et si la désignation est égale je trie par id, mais mon code n'affiche pas le résultat attendu, ma classe Produit implémente Comparable,
voici mon code :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| // Comparator pour le tri des produits par prix
public static Comparator<Produit> ComparatorPrix = new Comparator<Produit>() {
@Override
public int compare(Produit p1, Produit p2) {
if(p1.getPrix()!=(p2.getPrix())){return (int)(p1.getPrix()-(p2.getPrix()));
}else if((p1.getDesignation().compareTo(p2.getDesignation())!=0)) {
return (int)(p1.getDesignation().compareTo(p2.getDesignation()));
}else return (int)(p1.getIdentifiant() - p2.getIdentifiant());
}}; |
MERCI d'avance pour votre aide