Tutoriels Java

Java ACCUEIL Introduction à Java Java Démarrer Syntaxe Java Commentaires Java Variables Java Types de données Java Conversion de type Java Opérateurs Java Chaînes Java Mathématiques Java Booléens Java Java Si... Sinon Commutateur Java Java While Boucle Java pour la boucle Java Pause/Continuer Tableaux Java

Méthodes Java

Méthodes Java Paramètres de méthode Java Surcharge de méthode Java Portée Java Récursivité Java

Cours Java

POO Java Classes/Objets Java Attributs de classe Java Méthodes de classe Java Constructeurs Java Modificateurs Java Encapsulation Java Paquets Java/API Héritage Java Polymorphisme Java Classes internes Java Abstraction Java InterfaceJava Énumérations Java Entrée utilisateur Java Data Java Java ArrayList Liste liée Java Java HashMap Jeu de hachage Java Itérateur Java Classes d'encapsulation Java Exception Java Java RegEx Fils Java Java Lambda

Gestion des fichiers Java

Fichiers Java Java créer/écrire des fichiers Fichiers de lecture Java Java supprimer des fichiers

Comment Java

Additionner deux nombres

Référence Java

Mots clés Java Méthodes de chaîne Java Méthodes mathématiques Java

Exemples Java

Exemples Java Compilateur Java Exercices Java Quizz Java Certificat Java


Java HashMap


Java HashMap

Dans ce ArrayListchapitre, 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 ( inttype). A HashMapcependant, 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 : Stringclés et Integervaleurs, ou le même type, comme : Stringclés et Stringvaleurs :

Exemple

Créez un HashMapobjet 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 HashMapclasse 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 HashMapavec 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 : Booleanfor boolean, Characterfor char, Doublefor double, etc :

Exemple

Créez un HashMapobjet 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));
    }
  }
}