Découvrez comment HashMap fonctionne en Java

Principes de base de HashMap

HashMap<String, Integer> map = new HashMap<>();  
map.put("Sato", 22);  
map.put("Takahashi", 24);  
map.put("Nomura", 32); 

Comment fonctionne HashMap

(1) Prenons un exemple dans lequel le nombre de HashMaps pouvant être stockés est de 5. (2) Tente de stocker clé: valeur Sato: 22 ''. Calculez la valeur de hachage 144 de Sato (c'est un nombre approprié car c'est un exemple) b. Divisez 144 par 5 du nombre d'éléments pour obtenir le reste 144/5 = 28 ... 4 c. Store `` key: Sato value: 22 ''` dans 4.

[0]  
[1] [Nomura, 32]
[2]  
[3] [Takahashi, 24] 
[4] [Sato,22]

(3) Lors de la récupération des données, effectuez le même calcul pour calculer l'emplacement de stockage des données cibles à partir de la clé. (4) Des valeurs de hachage excessives peuvent entrer en collision et plusieurs données peuvent être stockées au même emplacement (exemple ci-dessous).

[0]  
[1] [Nomura, 32]
[2]  
[3] [Takahashi, 24] 
[4] [Sato,22] [Ito, 98]

Concernant l'expansion des capacités

--Lorsque le nombre d'éléments augmente, une répétition est effectuée pour augmenter le nombre d'éléments stockés. Dans le cas de Java, il est calculé sur la base du coefficient de charge.

Les références

https://www.javatpoint.com/working-of-hashmap-in-java

Recommended Posts

Découvrez comment HashMap fonctionne en Java
[Java] Fonctionnement de Spring DI
Collecte de copies approfondies en Java
Comment apprendre JAVA en 7 jours
Comment utiliser les classes en Java?
Comment nommer des variables en Java
Comment fonctionne la mémoire dans les langages orientés objet
Fonctionnement des tableaux en Java (illustration)
Comment concaténer des chaînes avec Java
Étudiez le Deep Learning à partir de zéro en Java.
Comment implémenter le calcul de la date en Java
Comment implémenter le filtre de Kalman par Java
Prise en charge multilingue de Java Comment utiliser les paramètres régionaux
Premiers pas pour l'apprentissage profond en Java
Comment faire une conversion de base en Java
Fonctionnement du servlet Dispatcher dans Spring MVC
Comment appliquer les conventions de codage en Java
Comment intégrer Janus Graph dans Java
Comment obtenir la date avec Java
Java Performance Chapter 4 Fonctionnement du compilateur JIT
Comment afficher une page Web en Java
Comment traduire Rails en japonais en général
Comment obtenir une classe depuis Element en Java
Comment masquer les champs nuls en réponse en Java
[Java] Comprenez en 10 minutes! Tableau associatif et HashMap
[Deep Learning from scratch] dans Java 3. Réseau neuronal
Comment résoudre les problèmes d'expression en Java
Comment écrire Java String # getBytes dans Kotlin?
Combien d'opérateurs ternaires sont autorisés en Java
Partition en Java
Classe Java HashMap
Changements dans Java 11
Janken à Java
Taux circonférentiel à Java
FizzBuzz en Java
Comment fonctionne jul-to-slf4j
Comment appeler des fonctions en bloc avec la réflexion Java
Comment créer un environnement Java en seulement 3 secondes
[Java] Comment omettre le constructeur privé dans Lombok
Comment entrer / sortir des fichiers mainframe IBM en Java?
[Java] Comment obtenir la valeur maximale de HashMap
[Mémo personnel] Créez une copie complète simple avec Java
Comment créer un URI de données (base64) en Java
Comment convertir A en A et A en A en utilisant le produit logique et la somme en Java
Comment convertir un fichier en tableau d'octets en Java
Comment Git gérer les projets Java EE dans Eclipse
Résumé de la mise en œuvre des arguments par défaut en Java
Comment mettre l'ancien Java (série 8) dans macOS 10.15 Catalina
Remarques sur l'utilisation des expressions régulières en Java