Comme d'autres l'ont noté, il n'est pas intégré. Mais vous pouvez toujours sous-classe TreeSet, avec votre constructeur(s) de leur choix, et d'ajouter la fonctionnalité requise:
public class UpdateableTreeSet<T extends Updateable> extends TreeSet<T> {
// definition of updateable
interface Updateable{ void update(Object value); }
// constructors here
...
// 'update' method; returns false if removal fails or duplicate after update
public boolean update(T e, Object value) {
if (remove(e)) {
e.update(value);
return add(e);
} else {
return false;
}
}
}
À partir de là, vous aurez à composer ((UpdateableTreeSet)mySet).update(anElement, aValue)
de mettre à jour le tri de la valeur et le tri lui-même. Cela ne vous oblige à mettre en œuvre un supplémentaire update()
méthode dans votre objet de données.