Java HashMap
Java HashMap
Dans ce ArrayList
chapitre, vous avez appris que les tableaux stockent les éléments sous la forme d'une collection ordonnée et que vous devez y accéder avec un numéro d'index ( int
type). A HashMap
cependant, stockez les éléments dans des paires " clé / valeur ", et vous pourrez y accéder par un index d'un autre type (par exemple a String
).
Un objet est utilisé comme clé (index) pour un autre objet (valeur). Il peut stocker différents types : String
clés et Integer
valeurs, ou le même type, comme : String
clés et String
valeurs :
Exemple
Créez un HashMap
objet appelé capitalCities qui stockera les String
clés et String
les valeurs :
import java.util.HashMap; // import the HashMap class
HashMap<String, String> capitalCities = new HashMap<String, String>();
Ajouter des articles
La HashMap
classe a de nombreuses méthodes utiles. Par exemple, pour y ajouter des éléments, utilisez la put()
méthode :
Exemple
// Import the HashMap class
import java.util.HashMap;
public class Main {
public static void main(String[] args) {
// Create a HashMap object called capitalCities
HashMap<String, String> capitalCities = new HashMap<String, String>();
// Add keys and values (Country, City)
capitalCities.put("England", "London");
capitalCities.put("Germany", "Berlin");
capitalCities.put("Norway", "Oslo");
capitalCities.put("USA", "Washington DC");
System.out.println(capitalCities);
}
}
Accéder à un article
Pour accéder à une valeur dans le HashMap
, utilisez la get()
méthode et référez-vous à sa clé :
Exemple
capitalCities.get("England");
Supprimer un article
Pour supprimer un élément, utilisez la remove()
méthode et référez-vous à la clé :
Exemple
capitalCities.remove("England");
Pour supprimer tous les éléments, utilisez la clear()
méthode :
Exemple
capitalCities.clear();
Taille de la carte de hachage
Pour savoir combien il y a d'éléments, utilisez la size()
méthode :
Exemple
capitalCities.size();
Boucle à travers un HashMap
Parcourez les éléments de a HashMap
avec une boucle for-each .
Remarque : Utilisez la keySet()
méthode si vous ne souhaitez que les clés, et utilisez la values()
méthode si vous ne souhaitez que les valeurs :
Exemple
// Print keys
for (String i : capitalCities.keySet()) {
System.out.println(i);
}
Exemple
// Print values
for (String i : capitalCities.values()) {
System.out.println(i);
}
Exemple
// Print keys and values
for (String i : capitalCities.keySet()) {
System.out.println("key: " + i + " value: " + capitalCities.get(i));
}
Autres types
Les clés et les valeurs d'un HashMap sont en fait des objets. Dans les exemples ci-dessus, nous avons utilisé des objets de type "String". N'oubliez pas qu'une chaîne en Java est un objet (pas un type primitif). Pour utiliser d'autres types, comme int, vous devez spécifier une classe wrapper équivalente : Integer
. Pour les autres types primitifs, utilisez : Boolean
for boolean, Character
for char, Double
for double, etc :
Exemple
Créez un HashMap
objet appelé
people qui stockera des String
clés et
Integer
des valeurs :
// Import the HashMap class
import java.util.HashMap;
public class Main {
public static void main(String[] args) {
// Create a HashMap object called people
HashMap<String, Integer> people = new HashMap<String, Integer>();
// Add keys and values (Name, Age)
people.put("John", 32);
people.put("Steve", 30);
people.put("Angie", 33);
for (String i : people.keySet()) {
System.out.println("key: " + i + " value: " + people.get(i));
}
}
}