Tris différent sur une liste - Java - Programmation
Marsh Posté le 18-04-2006 à 17:26:20
En regardant bien les 2 listes, on voit que pour displaytag, un caractere alphabétique est > qu'un caractere alphanumérique, alors qu'avec le CompareTo de la classe String c'est l'inverse ....
Mais quel méthode utilise-t-il pour en arriver à cela ?
comment implementer cela ?
Marsh Posté le 18-04-2006 à 17:15:34
Voilà j'utilise une liste que je tri de 2 maniere différente.
NB : c'est un tri de chaine de caractere.
1ere maniere (avec DisplayTag)
2eme maniere avec Collections.sort (en implémentant la méthode compare).
Je trouve pas la même chose !
DisplayTag me sort :
14800133
14800141
14800142
14800143
14800144
14800148
14800151
14800153
14800157
14800158
14800622
14802794
14802827
14810041
148128610550170E0902
148139314220479
148147202240114
148147202796990
148222502383660
148246810520398
....
....
....
148449606090166
148449606807113
148449606809137E0705
148449902090157
148449902095606
1-JW457
1-JW457
1-JW457
1-JW457
1-JW457
et avec ma méthode toute bête (avec compareTo de string), j'ai l'impression que c'est inversé mais que beaucoup de chose ne colle pas même en inversant la liste.
Le resultat avec ma méthode
1-JW457
1-JW457
1-JW457
1-JW457
1-JW457
14800133
14800141
14800142
14800143
14800144
14800148
14800151
14800153
14800157
14800158
14800622
14802794
14802827
14810041
148128610550170E0902
148139314220479
148147202240114
....
....
....
148447202918597
148447202919165
148447202919276
148447202920303
148447202921315
148447202922105
148447202922216
148447202924730E0805
148447202947670
148447206295172
148448806227192
148448810369109E0705
148448810372159E0705
148449406300690
148449406305139
148449406310602
148449602347178
148449606090166
148449606807113
148449606809137E0705
148449902090157
148449902095606
quel sort de tri me fait DisplayTag ?
J'ai regardé dans le code source de DisplayTag, mais je trouve aps le comment du pourquoi ....
Voici son code de tri (enfin je crois)
Message édité par Mazda3 le 18-04-2006 à 17:22:19