logo

Comment itérer HashMap en Java ?

HashMap fait partie de la collection Java fournissant l'implémentation de base de l'interface Map de Java en stockant les données dans des paires (Clé, Valeur) pour y accéder via un index d'un autre type. Un objet est répertorié comme clé (index) d’un autre objet (valeur). Si vous essayez d'insérer la clé en double, elle remplacera l'élément de la clé correspondante. Afin d'utiliser cette classe et ses méthodes, il est nécessaire d'importer java.util.HashMap package ou sa superclasse.

Il existe de nombreuses façons de parcourir HashMap, dont 5 sont répertoriées ci-dessous :

chaîne.replaceall java
  1. Parcourir une HashMap Ensemble d'entrées en utilisant des itérateurs.
  2. Parcourir HashMap Jeu de clés en utilisant l'itérateur.
  3. Itérer HashMap en utilisant pour chaque boucle .
  4. Itérer sur un HashMap à l'aide d'expressions Lambda.
  5. Parcourez un HashMap en utilisant API de flux .

Méthode 1 : utilisation d'une boucle for pour parcourir un HashMap. Itérer un HashMap à travers une boucle for à utiliser obtenirValeur() et Obtenir la clé() les fonctions.



Mise en œuvre: Dans le code donné ci-dessous, jeu d'entrées() est utilisé pour renvoyer une vue définie des éléments mappés. À partir du code ci-dessous :

  • set.getValue() pour obtenir la valeur de l'ensemble.
  • set.getKey() pour obtenir la clé de l'ensemble.

Java




// Java Program to Iterate over HashMap> // Importing Map and HashMap classes> // from package names java.util> import> java.util.HashMap;> import> java.util.Map;> // Class for iterating HashMap using for loop> public> class> GFG {> >// Main driver method> >public> static> void> main(String[] args)> >{> >// Creating a HashMap> >Map foodTable> >=>new> HashMap();> >// Inserting elements to the adobe HashMap> >// Elements- Key value pairs using put() method> >foodTable.put(>'A'>,>'Angular'>);> >foodTable.put(>'J'>,>'Java'>);> >foodTable.put(>'P'>,>'Python'>);> >foodTable.put(>'H'>,>'Hibernate'>);> >// Iterating HashMap through for loop> >for> (Map.Entry set :> >foodTable.entrySet()) {> >// Printing all elements of a Map> >System.out.println(set.getKey() +>' = '> >+ set.getValue());> >}> >}> }>

>

>

Sortir

P = Python A = Angular H = Hibernate J = Java>

Méthode 2 : utilisation d'un forEach pour parcourir un HashMap. Dans la deuxième méthode, la fonction forEach pour itérer les paires clé-valeur.

Java




// Java Program to Iterate over HashMap> // Iterating HashMap using forEach> // Importing Map and HashMap classes> // from package names java.util> import> java.util.HashMap;> import> java.util.Map;> public> class> GFG {> >// Main driver method> >public> static> void> main(String[] args)> >{> >// Creating hash map> >Map charType> >=>new> HashMap();> >// Inserting data in the hash map.> >charType.put(>'J'>,>'Java'>);> >charType.put(>'H'>,>'Hibernate'>);> >charType.put(>'P'>,>'Python'>);> >charType.put(>'A'>,>'Angular'>);> >// Iterating HashMap through forEach and> >// Printing all. elements in a Map> >charType.forEach(> >(key, value)> >->System.out.println(clé +>' = '> + value));> >}> }>

>

>

Sortir

P = Python A = Angular H = Hibernate J = Java>

Méthode 3 : Utilisation d’un itérateur pour parcourir un HashMap. Dans cette méthode, l'itérateur est utilisé pour itérer chaque paire mappée dans HashMap, comme indiqué dans le programme Java ci-dessous.

Exemple:

Java




// Java Program to Iterate over HashMap> // Using Iterator> // Importing classes from java.util package> import> java.util.HashMap;> import> java.util.Iterator;> import> java.util.Map;> import> java.util.Map.Entry;> public> class> GFG {> >// Main driver method> >public> static> void> main(String[] arguments)> >{> >// Creating Hash map> >Map intType> >=>new> HashMap();> >// Inserting data(Key-value pairs) in hashmap> >intType.put(>1>,>'First'>);> >intType.put(>2>,>'Second'>);> >intType.put(>3>,>'Third'>);> >intType.put(>4>,>'Fourth'>);> >// Iterator> >Iterator new_Iterator> >= intType.entrySet().iterator();> >// Iterating every set of entry in the HashMap> >while> (new_Iterator.hasNext()) {> >Map.Entry new_Map> >= (Map.Entry)> >new_Iterator.next();> >// Displaying HashMap> >System.out.println(new_Map.getKey() +>' = '> >+ new_Map.getValue());> >}> >}> }>

Urfi javed
>

>


Sortir

1 = First 2 = Second 3 = Third 4 = Fourth>

Méthode 4 : itérer sur un HashMap à l'aide d'expressions Lambda

Une expression lambda est un court bloc de code qui prend des paramètres et renvoie une valeur. Les expressions Lambda sont similaires aux méthodes, mais elles n'ont pas besoin de nom et elles peuvent être implémentées directement dans le corps d'une méthode. L'expression lambda la plus simple contient un seul paramètre et une expression :

parameter ->expression>

Exemple:

Java




// Iterating HashMap using Lambda Expressions- forEach()> // Importing Map and HashMap classes> // from java.util package> import> java.util.HashMap;> import> java.util.Map;> // Class> public> class> GFG {> >// Main driver method> >public> static> void> main(String[] args)> >{> >// Creating hash map> >Map charType> >=>new> HashMap();> >// Inserting elements(key-value pairs)> >// in the hash map ( Custom inputs)> >charType.put(>'A'>,>'Apple'>);> >charType.put(>'B'>,>'Basketball'>);> >charType.put(>'C'>,>'Cat'>);> >charType.put(>'D'>,>'Dog'>);> >// Iterating through forEach and> >// printing the elements> >charType.forEach(> >(key, value)> >->System.out.println(clé +>' = '> + value));> >}> }>

>

>

Sortir

A = Apple B = Basketball C = Cat D = Dog>

Méthode 5 : Parcourez un HashMap à l'aide de l'API Stream

L'exemple ci-dessous parcourt un HashMap à l'aide de l'API de flux.

L'API Stream est utilisée pour traiter des collections d'objets.

structure dans la structure des données

Les flux ne modifient pas la structure de données d'origine, ils fournissent uniquement le résultat selon les méthodes pipeline

Pas :

  • Invoquer d'abord entréeSet().stream() méthode qui renvoie à son tour l’objet Stream.
  • Suivant méthode pour chaque , qui itère les objets d'entrée qui se trouvent dans EntrySet(). Voir le code ci-dessous.

Exemple:

Java




// Java Program to Iterate over HashMap> // Loop through a HashMap using Stream API> // Importing classes from> // package named 'java.util'> import> java.util.HashMap;> import> java.util.Iterator;> import> java.util.Map;> import> java.util.Map.Entry;> // HashMap class> public> class> GFG {> >// Main driver method> >public> static> void> main(String[] arguments)> >{> >// Creating hash map> >Map intType> >=>new> HashMap();> >// Inserting data(key-value pairs) in HashMap> >// Custom inputs> >intType.put(>1>,>'First'>);> >intType.put(>2>,>'Second'>);> >intType.put(>3>,>'Third'>);> >intType.put(>4>,>'Fourth'>);> >// Iterating every set of entry in the HashMap, and> >// printing all elements of it> >intType.entrySet().stream().forEach(> >input> >->System.out.println(input.getKey() +>' : '> >+ input.getValue()));> >}> }>

>

>

Sortir

1 : First 2 : Second 3 : Third 4 : Fourth>