Creation d une collection d objets avec ordre de stockage partic

Fermé
ahmadou_20 - 29 août 2014 à 13:54
KX Messages postés 16733 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 31 janvier 2024 - 29 août 2014 à 20:53
Salut,


En fait, j aimerais creer une collection d objets Pair (une classe que j ai creee) de telle facon qu a chaque fois que je rajoute un Pair a ma collection, il se met dans le bon ordre (selon un comparateur pairComparator que j ai implemente dans la classe Pair).

Le probleme c est que avec List,ca marche pas. C est tjs l ordre de l insertion qui est maintenu ( a moins que je fasse un sort avec pairComparator, ce qui risque d etre trop couteux si mon programme est gros).



Pair pair1 = new Pair(1, "A");
Pair pair2 = new Pair(2, "B");

List<Pair> list = Arrays.asList(pair1, pair2);

Collection.sort(list, pairComparator);

Y a t-il une autre structure de donnees qui permet de le faire automatiquement sans avoir a retreir la collection a chaque fois qu un objet y est rajoute ?
C est a dire des que j ecris



list.add(pair1);

pair1 se met dans le bon ordre dans la liste (tout comme put avec TreeMultimap par exemple).

Merci de votre aide.
A voir également:

1 réponse

KX Messages postés 16733 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 31 janvier 2024 3 015
29 août 2014 à 20:53
Bonjour,

Tu as les SortedSet qui te permettent de maintenir l'ordre, mais attention car ils n'acceptent pas les doublons : si deux objet sont égaux un seul sera conservé.
Il faut donc bien faire ton Comparator pour gérer ou non les doublons.

SortedSet<Pair> set = new TreeSet<Pair>();
1