Bonjour j'ai un petit problème pour un de mes projets.
C'est vraiment une erreur bête qui doit être quelque part mais je ne la vois pas.
J'ai besoin de trier par ordre alphabétique une liste contenant plusieurs objets du même type. Je veux qu'ils soient classé par ordre alphabétique du nom.
J'ai ça comme code.
Mon type Ingredient est relativement basique et j'ai bien pensé à redéfinir la méthode compareTo() afin de pouvoir trier correctement des objets de type Ingredient.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24 import java.util.*; public class main { /** * @param args */ public static void main(String[] args) { List<Ingredient> list3 = new LinkedList<Ingredient>(); list3.add(new Ingredient("b","liquide",0.5,true)); list3.add(new Ingredient("c","liquide",4,true)); list3.add(new Ingredient("a","solide", 0.4,true)); System.out.println(list3); Collections.sort(list3); System.out.println(list3); } }
Je n'ai volontairement pas mis toutes les méthodes de ma classe Ingredient.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41 import java.util.*; public class Ingredient implements Comparable{ public String nom; protected String type; protected boolean simple; protected double quantite; public Ingredient(String nom, String type, double quantite) { this.nom = nom; this.type = type; this.quantite = quantite; this.simple = true; } public Ingredient(String nom, String type, double quantite, boolean simple) { this.nom = nom; this.type = type; this.quantite = quantite; this.simple = simple; } public int compareTo(Ingredient i) { return this.getNom().compareTo(i.getNom()); } @Override public int compareTo(Object o) { // TODO Auto-generated method stub return 0; } }
Et lors de l'exécution j'ai ça
[Nom : b 0.5, Nom : c 4.0, Nom : a 0.4] <-- liste avant le tri
[Nom : b 0.5, Nom : c 4.0, Nom : a 0.4] <-- liste après le tri mais qui n'est toujours pas triée.
Je m'en remet à vous je ne vois pas trop ce qui m'empêche de faire un tri correct.
Partager