HashMap en Java - java.util.HashMap
Un Set est une collection qui vous permet de trouver rapidement un élément existant. Cependant, pour rechercher un élément, vous devez disposer d'une copie exacte de l'élément à rechercher. Ce n’est pas une recherche très courante. En général, vous avez des informations clés et vous souhaitez rechercher l’élément associé. La structure des données HashMap sert cet objectif. Un HashMap stocke des paires clé/valeur. Vous pouvez trouver une valeur si vous fournissez la clé. Par exemple, vous pouvez stocker une table d'enregistrements d'employes, où les clés sont les ID d'employes et, les objets Employe sont des valeurs.
Voici comment créer un HashMap pour stocker les employés:
var employes= new HAshMap< Integer, Employe>();
Exemple 1 :
import java.util.HashMap; class Employe { private Integer id; private String nom; private String prenom; public Employe(Integer id, String nom, String prenom) { this.id = id; this.nom = nom; this.prenom = prenom; } @Override public String toString() { return "Employe [id=" + id + ", nom=" + nom + ", prenom=" + prenom + "]"; } } public class Test { public static void main(String args[]) { var employes = new HashMap< Integer, Employe>(); employes.put(1, new Employe(1, "ESSADDOUKI", "Mostafa")); employes.put(4, new Employe(4, "KAYOUH", "Mohamed")); } }
Chaque fois que vous ajoutez un objet à un HashMap, vous devez également fournir une clé. Dans notre cas, la clé est un entier (Integer) et la valeur correspondante est un objet Employe.
Voici la liste des constructeurs fournis par la classe HashMap.
Constructeur | Description |
---|---|
HashMap<K, V>() | Ce constructeur construit un HashMap par défaut. |
HashMap<K, V>(Map m) | Ce constructeur initialise un HashMap en utilisant les éléments de l'objet Map donné m. |
HashMap<K, V>(int capacity) | Ce constructeur initialise la capacité de HAshMap sur la valeur entière donnée, capacity. |
HashMap<K, V>(int capacity, float fillRatio) | Ce constructeur initialise à la fois la capacité et le taux de remplissage(fillRatio) de HashMap en utilisant ses arguments. |
Outre les méthodes héritées de ses classes mères, HashMap définit les méthodes suivantes :
Méthode | Description |
---|---|
void clear() | Supprimer tous les mappages de cette map. |
boolean containsKey(Object key) | Renvoyer true si cette map contient un mappage pour la clé spécifiée. |
boolean containsValue(Object value) | Renvoyer true si cette map mappe une ou plusieurs clés sur la valeur spécifiée. |
Object get(Object key) | Renvoyer la valeur à laquelle la clé spécifiée est mappée dans cette map, ou null si la carte ne contient aucune correspondance pour cette clé. |
Object put(Object key, Object value) | Associer la valeur spécifiée à la clé spécifiée dans cette map. |
boolean isEmpty() | Renvoyer true si cette map ne contient aucune correspondance clé-valeur. |
putAll(Map m) | Copie tous les mappages de la map spécifiée vers cette map. Ces mappages remplaceront tous les mappages que cette map avait pour toutes les clés actuellement dans la map spécifiée. |
Object remove(Object key) | Supprimer le mappage de cette clé de cette map si elle est présente.. |
int size() | Renvoyer le nombre de mappages clé-valeur dans cette map. |
Collection values() | Renvoyer une vue des valeurs contenues dans cette map. |
Exemple 2 :
import java.util.HashMap; class Employe { private Integer id; private String nom; private String prenom; public Employe(Integer id, String nom, String prenom) { this.id = id; this.nom = nom; this.prenom = prenom; } @Override public String toString() { return "Employe [id=" + id + ", nom=" + nom + ", prenom=" + prenom + "]"; } } public class Test { public static void main(String args[]) { var employes = new HashMap< Integer, Employe>(); employes.put(1, new Employe(1, "ESSADDOUKI", "Mostafa")); employes.put(4, new Employe(4, "KAYOUH", "Mohamed")); employes.put(7, new Employe(7, "Moutawakil", "Dounia")); System.out.println("la taille de HashMap est : " + employes.size()); if (employes.containsKey(4)) { Employe emp = employes.get(4); System.out.println("Employe associé au clé 4 est " + emp); } System.out.println("Les employes sont : " + employes.values()); employes.clear(); if (employes.isEmpty()) { System.out.println("HashMap est vide"); } } }
Employe associé au clé 4 est Employe [id=4, nom=KAYOUH, prenom=Mohamed]
Les employes sont : [Employe [id=1, nom=ESSADDOUKI, prenom=Mostafa], Employe [id=4, nom=KAYOUH, prenom=Mohamed], Employe [id=7, nom=Moutawakil, prenom=Dounia]]
HashMap est vide