Collections sort(list lst, comparator c)

Collections sort(list lst, comparator c) - Java - Programmation

Marsh Posté le 20-09-2005 à 09:23:43    

:hello:  
 
J'ai un peu de mal à comprendre comment utiliser ce sort sur une liste  :(  
 
malgré cette page : http://java.sun.com/j2se/1.4.2/doc [...] rator.html
 
Ca reste un peu obscur :(
 
J'arrive a redefinnir le compareTo, pour utiliser le Collections.sort(list lst);, mais si je veut trier sur plusieurs critères (une fois le a, apres le b, ...) je ne voit pas tres bien comment faire.
 
 
Merci d'avance :)


---------------
.
Reply

Marsh Posté le 20-09-2005 à 09:23:43   

Reply

Marsh Posté le 20-09-2005 à 10:01:17    

Tu créé une nouvelle interface qui étend Comparator et qui te permet d'effectuer la bonne comparaison pour tes objets.
A savoir si objet1.a < object2.a retourner -1,
si objet1.a==objet2.a alors regarder objet1.b et objet2.b
etc.
Pour info, voici un lien qui m'a énormément aidé et qui m'aide encore parfois ( malgrés mes 6 ans de pratique java ) :
http://java.developpez.com/livres/penserenjava/
 
pour ton cas précis :
http://java.developpez.com/livres/ [...] =11#11.043

Reply

Marsh Posté le 20-09-2005 à 11:28:56    


 
Merci pour ton aide, j'essaierai cela tout à l'heure, si j'y arrive vraiment pas, je repasserai ici:)


---------------
.
Reply

Marsh Posté le 07-04-2013 à 19:17:51    

Je déterre ce vieux topic parce que je n'y comprends plus rien.
 
Je dispose d'une liste chainée d'objet Pays :

Code :
  1. LinkedList<Pays> liste = new LinkedList<Pays>();


 
La liste fonctionne correctement et alimente bien ma classe Pays :  

Code :
  1. liste.add(new Pays(nomPays, gold, silver, bronze));


 
Je souhaite maintenant trier cette liste par nom de Pays en utilisant Collections.sort(liste, ?)
 
Et c'est là que ce pose mon problème, étant débutant je vois tout un tas de version différente en utilisant :
- implements Comparator
- implements Comparable
- etc
 
Quelle est la solution la plus simple et efficace ?

Reply

Marsh Posté le 07-04-2013 à 22:41:41    

J'y suis arrivé seul. Il me fallait mettre

Code :
  1. implements Comparable<Pays> {


Puis redéfinir compareTo sur l'objet des pays.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed