Bonjour à tous,
voilà j'ai un problème de trie et je galère avec depuis deux jours déjà, je vous explique:
j'ai une liste d'objet définie comme suit:
et que j'alimente avec un result set (le résultat de ma requete), puis je fais le trie
Code : Sélectionner tout - Visualiser dans une fenêtre à part List<ConfigCTO> liste = new ArrayList<ConfigCTO>();
dans ma classe ConfigCTO , j'ai définie la ma méthode compareTo comme suit pour faire le trie par date, client et configCode :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 SqlQuery requete = null; try { requete = new SqlQuery(config.getString("jndiMes"), sqlTouteLaListeAServir); final ResultSet rs = requete.getResults(); while (rs.next()) { ConfigCTO cto = new ConfigCTO(rs.getString("PN"), rs.getString("IDECLIENT"), rs.getString("CONFIGCODE"), rs.getString("NUMCONFIG"), rs.getInt("QTE_USED"), rs.getString("DATEXPED")); liste.add(cto); } //trie de la liste Collections.sort(liste);
le problème c'est que le trie de ma liste n'est pas bonne à la sortie, j'ai essayé plein de truc en cherchant sur le net, mais jusque là j'arrive toujours pas à trier ma liste.
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 //trie par date, client et parnumConfig public int compareTo(Object other) { // TODO Auto-generated method stub String date1 = ((ConfigCTO) other).getDateExpe(); String client1 = ((ConfigCTO) other).getClient(); String configcode1 = ((ConfigCTO) other).getConfigcod(); String date2 = this.getDateExpe(); String client2 = this.getClient(); String configcode2 = this.getConfigcod(); int dateCmp = date2.compareTo(date1); if (dateCmp != 0) return dateCmp; int clientCmp = client2.compareTo(client1); if (clientCmp != 0) return clientCmp ; int configcodeCmp = configcode2.compareTo(configcode1); if (configcodeCmp != 0) return configcodeCmp ; else return 1; } }
quelqu'un aurait-il une idée de ce que j'ai peut être loupé? ou ce n'est simplement pas possible de trier les objets dans une liste sur plusieurs attributs?
vos aides seront les bien venus, parce que là je ne sais vraiment pas quoi faire![]()
je vous remercie de votre aide par avance.
Partager