Bonjour,
Je cherche la collection appropriée pour stocker et manipuler des objets chaînés.
Je voudrais stocker ces objets dans une collection. Dans laquelle :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 Class MyObjet { private MyObject previous=null; private MyObject next=null; public MyObject getPrevious { return previous; } public MyObject getNext { return next; } public void setPrevious(MyObject p) { previous=p; } public void setNext(MyObject n) { next=n; } }
- je voudrais pouvoir manipuler les .next et .previous de chaque élément et que cela se reflète sur la collection sans que je doive intervenir sur la collection.
- je voudrais pouvoir vers des first() et des last() sur la collection.
Je serai garant que les objets dans cette collection fasse partie de la même chaîne, et qu'il n'y ait pas de fourche dans la chaîne.
Mon idée de base était le TreeSet mais j'ai besoin d'un comparator et je ne vois rien de simple puisque je ne peux pas comparer directement 2 objet A et B sans parcourir la chaîne.
Cela donnerait :
Perso, je ne suis pas fan.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 Comparator<MyObject> comparator=new Comparator<MyObject>() { public int compare(MyObjecto1, MyObjecto2) { if (o1.equals(o2)) return 0; while (o1==null) { o1=o1.getPrevious(); if (o2.equals(o1)) return 1; } return -1; }
P'te info: la collection fait 500 éléments maximum.
Y a-t-il mieux ?
Merci
Partager