java collection d'éléments uniques

J'ai une Collection de coll de myObject. Je voudrais ajouter un élément au coll seulement si il n'y a aucun élément dans la collection.

J'ai surchargé la méthode equals de myObject. Il vérifie l'égalité de ses 20 attributs.

Toutefois, dans le cas de la collection, j'aimerais prendre le contrôle d'égalité (et donc de l'ajouter) basé sur un seul de ces attributs.

Peut-être que mon architecture est imparfait, et je ne devrais pas avoir deux définitions d'égal à égal, et devrait plutôt avoir 2 objets différents.

Cependant, est-il possible, sans trop de refactoring, pour réaliser ce que je veux partir d'ici ? C'est-à-dire, j'avais comme une sorte de Jeu de collection, où je pourrais me dire comment faire pour faire la comparaison vérifier. Ce serait semblable à la Collection.méthode sort (), où vous pouvez apporter le comparateur de vérifier pour la comparaison.

Et puis quoi ? Comment puis-je utiliser ce comparateur ?
regardez SortedSet. peut-être que ce sera le travail pour vous
SortedSet pourrait fonctionner. Je serais très prudent, cependant, parce que votre comparaison ne serait pas compatible avec d'égal à égal et/ou complète.

OriginalL'auteur jbenz | 2013-04-15