Bonjour,
Voici mon problème. J'ai besoin de manipuler une collection avec pour propriété d'avoir des éléments sans doublons. Egalement ces éléments doivent être au besoin triés (suivant un comparable par exemple). Une implémentation correcte serait d'utiliser un TreeSet. Un problème subsiste néanmoins. Les propriétés des éléments peuvent être modifiés au cours de l'exécution du programme. Les éléments ne sont plus alors triés. Plusieurs solutions m'apparaissent mais me laisse songeur :
- Plutôt qu'un TreeSet, on choisit une ArrayList. Les opérations d'ajout sont redéfinies pour assurer l'unicité des éléments. On complète en rajoutant un appel à sort de Collections.
- On garde TreeSet, mais à chaque modification d'un élément, on veille à le retirer de la liste puis à le rejouter.
- On garde TreeSet, mais on ajoute une opération qui consiste à "retrier" le TreeSet : Copie du TreeSet dans une autre variable, "clear" du TreeSet, puis "addAll" sur le TreeSet avec en paramètre la sauvegarde.
Quelqu'un a t-il une/plusieurs idée(s) plus propre(s) que celles-ci ?
Partager