2017-10-08 4 views

Répondre

1

HashSet est juste un HashMap où la valeur est Object.
Donc add ajoute simplement l'élément à la hashmap de sauvegarde. Ajouter un élément à un hashmap signifie utiliser le hashCode pour déterminer où il doit être placé. Le equals est utilisé pour déterminer si la clé que nous essayons d'ajouter est déjà là et ensuite la valeur devrait juste être mise à jour

+0

* "où la valeur est un booléen" * - Wrong – Tom

+0

Donc, en supposant que l'objet nous Essayez d'ajouter à la HashSet a un certain HashCode. Cependant, il existe déjà une valeur "seau" pour ce HashCode. Si le nouvel objet que nous essayons d'ajouter n'est pas égal (en termes de la méthode equals()) à l'objet précédemment "seau" est remplacé par celui que nous essayons d'ajouter? –

+0

@PedroRibeiro Research aide: [Comment un Java HashMap gère-t-il différents objets avec le même code de hachage?] (// stackoverflow.com/q/6493605) – Tom