Bonjour,
Je cherche comment il est possible de faire un sorte d'update sur le tri d'un treeset sans pour autant ajouter ou retirer un élément. (ou existe-t-il d'autre fonction qui vont appeler compareTo sur un TreeSet ?)
Merci d'avance.
Bonjour,
Je cherche comment il est possible de faire un sorte d'update sur le tri d'un treeset sans pour autant ajouter ou retirer un élément. (ou existe-t-il d'autre fonction qui vont appeler compareTo sur un TreeSet ?)
Merci d'avance.
J'ai fais pas mal de recherche, cela semble impossible. Il faudrait passer par une List avec la methode List.sort() mais c'est dommage parce que mes éléments sont bien un ensemble et non une liste.
Si jamais il existe quand même un solution merci de me le faire savoir. J'ai regardé aussi au niveau de la classe elle-même pour en faire un classe fille et utilisé des observers, mais cela semble vraiment au delà de mes compétences.
Si ce n'est vraiment pas possible je suis preneur d'explication, car c'est quand même dommage de ne pas pouvoir, il doit avoir une explication.
? Contente toi de faire un autre TreeSet avec un autre tri.
L'explication c'est que ça ne sert à rien de pouvoir changer le tri d'un TreeSet quand tu pourrais faire un autre TreeSet à la place. Ca ne sert à rien, et c'est extrêmement encourageant à faire des bugs (précisément parce que l'autoriser pourrait laisser penser que ça sert à quelque chose, menant à des attentes complètement erronées).
N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java
Je ne veux pas changer le tri d'un Treeset<object quelconque>, je veux que le tri naturel qui est basé sur une variable "var" de mon object quelconque soit mis à jour si jamais je modifie cette variable "var". Mais j'ai quand même fais cette solution, je trouvais juste lourd et pas très joli de devoir refaire un TreeSet à chaque modification de la variable.
Ah, dans ce cas c'est impossible. Le TreeSet ne peut pas deviner que tu mets à jour des variables à l'intérieur des objets qu'il contient.
Et si tu prends la peine de le prévenir quand tu fais les changements, dans ce cas ça n'a pas d'intérêt pour un TreeSet de pouvoir gérer ça automatiquement.
Tu pourrais, par contre, enlever d'abord l'objet du TreeSet, puis le remettre. Suivant les cas, ça peut être meilleur que de reconstruire un nouveau TreeSet avec tous les éléments à chaque fois.
N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager