Junior
Comment le stockage des objets dans HashMap est-il effectué?
sobes.tech IA
Réponse de l'IA
Les objets sont stockés sous forme de paires "clé-valeur". HashMap utilise un tableau de "seaux" (buckets). Lors de l'ajout d'une paire :
- Le code de hachage de la clé est calculé à l'aide de
hashCode(). - En utilisant le code de hachage, l'indice du seau dans le tableau est déterminé.
- Ce seau contient une paire
Entry(ou équivalent dans les versions plus récentes de Java), qui comprend la clé, la valeur et le code de hachage. - Si le seau contient déjà des objets, ils forment une liste chaînée ou un arbre (en cas de nombreuses collisions).
Lors de la récupération d'un objet par clé :
- Le code de hachage de la clé est calculé.
- L'indice du seau est déterminé.
- À l'intérieur du seau, on recherche un objet avec une clé pour laquelle
equals()retournetrueet dont les codes de hachage correspondent.
Les clés doivent être immuables et avoir des méthodes hashCode() et equals() correctement implémentées.