Tri dynamique d'une collection

Résolu
keopsk Messages postés 96 Date d'inscription jeudi 18 avril 2002 Statut Membre Dernière intervention 9 mars 2007 - 9 avril 2006 à 20:22
cs_valckar Messages postés 34 Date d'inscription jeudi 16 mars 2006 Statut Membre Dernière intervention 30 juin 2006 - 10 avril 2006 à 10:58
Bonjour,

J'ai une collection (pour l'instant j'utilise TreeMap mais je ne suis pas obligé de l'utiliser) qui stocke des objets (chaque objet dispose d'un certain nombre de propriétés).
Est-ce qu'il est possible de trier cette collection non pas sur la base de la clé, mais sur la base d'une des propriétés qq des objets, que l'on peut détermininer dynamiquement

Le remplissage de cette collection collection est fait à partir d'une base de données.
L'objetif est d'éviter d'accéder à chaque fois à la base de données pour effectuer des opérations de tri interactives sur l'une des propriétés des objets faisant partie de la collection.

merci pour votre aide

3 réponses

cs_valckar Messages postés 34 Date d'inscription jeudi 16 mars 2006 Statut Membre Dernière intervention 30 juin 2006
10 avril 2006 à 09:25
Salut,



Tu peus utiliser new TreeMap(Comparator); puis tu remplis le nouveau Set.



Exemple :



public class objetATrier{

public String champ1;

public int champ2;

public Comparable<Comparable> champ3;

}



public void methode(){

SortedSet<objetATrier>
sortedSet = new TreeSet<objetATrier>(new
Comparator<objetATrier>(){



public int compare(objetATrier o1, objetATrier o2)

{


//return o1.champ1.compareTo(o2.champ1);

//return o1.champ2-o2.champ2;


return o1.champ3.compareTo(o2.champ3);

}});

}



Laurent
3
keopsk Messages postés 96 Date d'inscription jeudi 18 avril 2002 Statut Membre Dernière intervention 9 mars 2007
10 avril 2006 à 10:49
Bonjour,
J'ai testé cette solution. Elle fonctionne très bien. J'ai +9000 enregistements. J'ai un peu de lenteur.
Merci Laurent
0
cs_valckar Messages postés 34 Date d'inscription jeudi 16 mars 2006 Statut Membre Dernière intervention 30 juin 2006
10 avril 2006 à 10:58
Re,



Pour les lenteur, il existe différent bibliothéque d'algo (à tester).



A+



ps : si tu peus cocher bonne réponse (si c'est le cas).
0
Rejoignez-nous