Bonjour,

Je cherche la collection appropriée pour stocker et manipuler des objets chaînés.
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 stocker ces objets dans une collection. Dans laquelle :
- 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 :
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;
    }
Perso, je ne suis pas fan.

P'te info: la collection fait 500 éléments maximum.

Y a-t-il mieux ?

Merci