Pourquoi le java.util.Set<V> interface fournissent pas un get(Object o) méthode?

Je comprends qu'une seule instance d'un objet en fonction de .equals() est autorisée dans un Jeu et que vous ne devriez pas "besoin" d'obtenir un objet à partir de l'Ensemble si vous avez déjà un objet équivalent, mais j'aimerais en avoir un .méthode get() qui retourne l'instance réelle de l'objet dans l'Ensemble (ou null) étant donné un équivalent de l'objet en tant que paramètre.

Toutes les idées/théories quant à pourquoi il a été conçu comme cela?

J'ai l'habitude de pirater contourner ce problème en utilisant une Carte et de faire la clé et la valeur même, ou quelque chose comme ça.

EDIT: je ne pense pas que les gens comprennent ma question jusqu'à présent. Je veux exactement instance de l'objet qui est déjà dans le jeu, pas, éventuellement, un autre objet de l'instance où .equals() renvoie la valeur true.

Pourquoi je veux que ce comportement, généralement .equals() ne prend pas en compte toutes les propriétés de l'objet. Je vais vous fournir mannequin de recherche d'objet et de revenir le réel de l'instance de l'objet dans le Jeu.

  • J'ai vraiment envie de le faire, mais avec une clé d'une Carte. Comme, je veux de la Carte.getKey(K k) à retourner k' où k.est égal à(k'). Puis-je le faire avec votre hack? Ou devrai-je faire une Paire<K, V>, et le changement de ma Carte<K, V> à la Carte<K, Pair<K, V>>?
  • "Contrairement à la plupart des autres types de collection, plutôt que de récupérer un élément spécifique à partir d'un ensemble, l'une généralement des tests de valeur de l'adhésion à un ensemble." en.wikipedia.org/wiki/Set_(abstract_data_type)