logo

Comment parcourir une carte en Java

En Java, l'itération sur Map peut être effectuée de différentes manières. N'oubliez pas que nous ne pouvons pas parcourir la carte directement en utilisant itérateurs , car l'interface Map ne fait pas partie de Collection. Toutes les cartes dans les implémentations Java Carte interface. Il existe les types de cartes suivants en Java :

  • Carte de hachage
  • ArbreCarte
  • LinkedHashMap

Une carte n'est pas une collection mais néanmoins, considérez-la dans le cadre des collections. Par conséquent, une Map est une interface qui n’étend pas l’interface Collections.

Itérateur

Un itérateur est une interface utilisée pour parcourir une collection. Il remplace l'énumération dans Java Collections Framework. La différence entre itérateur et énumération est :

  • L'itérateur peut parcourir des éléments hérités et non hérités, tandis que l'énumération ne peut traverser que des éléments hérités.
  • L’itérateur est rapide alors que l’énumération ne l’est pas.

Vues des collections

La méthode des vues de collection permet d'afficher une carte en tant que collection des manières suivantes :

    jeu de clés :C'est l'ensemble des clés contenues dans la Map.valeurs:C'est la collection de valeurs contenues dans la Map.jeu d'entrées :Il s'agit d'un ensemble de paires clé-valeur dans la carte.

L'interface Map possède également une petite interface imbriquée appelée Carte.entrée . La vue collection fournit le seul moyen de parcourir une carte.

Amisha Patel

Utilisation de l'interface itérateur

Exemple d'itération sur HashMap

 public static void main(String args[]) { HashMap hm = new HashMap(); //implements map interface hm.put(110,'Ravi'); hm.put(120,'Prateek'); hm.put(130, 'Davesh'); hm.put(140, 'Kamal'); hm.put(150, 'Pawan'); Iterator it = hm.keySet().iterator(); //keyset is a method while(it.hasNext()) { int key=(int)it.next(); System.out.println('Roll no.: '+key+' name: '+hm.get(key)); } } } 

Sortir:

 Roll no.: 130 name: Davesh Roll no.: 150 name: Pawan Roll no.: 120 name: Prateek Roll no.: 140 name: Kamal Roll no.: 110 name: Ravi 

Utilisation des méthodes keyset() et value()

jeu de clés() : UN jeu de clés() méthode de Carte de hachage La classe est utilisée pour l'itération sur les clés contenues dans la carte. Il renvoie la vue Set des clés.

Syntaxe

Mark Zuckerberg éducation
 Set keyset() 

valeurs(): UN valeurs() méthode de Carte de hachage La classe est utilisée pour l'itération sur les valeurs contenues dans la carte. Il renvoie une vue de collection des valeurs.

Syntaxe

 Collection values() 

Exemple

 import java.util.Map; import java.util.HashMap; class IterationExample2 { public static void main(String[] arg) { Map map = new HashMap(); map.put('Gujarat', 'Gandhi Nagar'); map.put('Uttar Pradesh', 'Lucknow'); map.put('Sikkim', 'Ganagtok'); for (String State : map.keySet()) //using keyset() method for iteration over keySet System.out.println('State: ' + State); for (String Capital : map.values()) //using values() for iteration over keys System.out.println('Capiatl: ' + Capital); } } 

Sortir:

 State: Gujarat State: Sikkim State: Uttar Pradesh Capital: Gandhi Nagar Capital: Ganagtok Capital: Lucknow 

Utilisation de Map.entrymethod

Map.Entry est une interface. Il renvoie une vue de collection de la carte, dont les éléments appartiennent à cette classe.

chaîne booléenne java

Une méthode map.entrySet() renvoie une vue Set du mappage contenu dans la carte. Les modifications apportées à la carte sont également reflétées dans l'ensemble et vice versa. Il prend également en charge la suppression d'éléments, qui supprime le mappage correspondant de la carte.

Syntaxe

 Set<map.entry> entrySet() </map.entry>

Exemple

 import java.util.*; class IterationExample3 { public static void main(String[] arg) { Map map = new HashMap(); map.put(&apos;Cookies&apos;, 90.87f); map.put(&apos;Dry Fruits&apos;, 434.23f); map.put(&apos;Oats&apos;, 220.00f); map.put(&apos;Chocolate&apos;, 70.89f); for (Map.Entry entry : map.entrySet()) //using map.entrySet() for iteration { //returns keys and values respectively System.out.println(&apos;Item: &apos; + entry.getKey() + &apos;, Price: &apos; + entry.getValue()); } } } 

Sortir:

 Item: Oats, Price: 220.0 Item: Dry Fruits, Price: 434.23 Item: Cookies, Price: 90.87 Item: Chocolate, Price: 70.89 

Itération sur les clés et obtention de valeurs

Exemple

commandes Kali Linux

Dans l'exemple suivant, nous parcourons d'abord les clés, puis obtenons les valeurs.

 import java.util.*; class IterationExample4 { public static void main(String[] arg) { Map map = new HashMap(); map.put(&apos;Sumit&apos;, &apos;Singh&apos;); map.put(&apos;Devesh&apos;, &apos;Mishra&apos;); map.put(&apos;Rahul&apos;, &apos;Tiwari&apos;); for (String name: map.keySet()) //iteration over keys { //returns the value to which specified key is mapped String lastname=map.get(firstname); System.out.println(&apos;Key: &apos; + name + &apos;, Value: &apos; + lastname); } } } 

Sortir:

 Key: Rahul, Value: Tiwari Key: Devesh, Value: Mishra Key: Sumit, Value: Singh 

Utilisation de la méthode forEach()

Le pour chaque() méthode de Liste des tableaux est utilisé pour effectuer une action pour chaque élément de l'Iterable jusqu'à ce que tous les éléments aient été traités.

java convertissant un entier en chaîne

Syntaxe

 public void forEach(Consumer action) 

La méthode prend l'action (l'action à effectuer pour chaque élément) en paramètre. Cela ne renvoie rien. Ça jette NullPointerException si l'action spécifiée est nulle.

Exemple

Dans l'exemple suivant, nous utilisons l'expression lambda dans la méthode forEach() pour imprimer chaque élément de la carte.

 import java.util.Map; import java.util.HashMap; class IterationExample5 { public static void main(String[] arg) { Map map = new HashMap(); map.put(&apos;TCS&apos;, &apos;0 billion&apos;); map.put(&apos;Wipro&apos;, &apos;.5 billion&apos;); //iteration over map using forEach() method map.forEach((k,v) -&gt; System.out.println(&apos;Company: &apos;+ k + &apos;, Net worth: &apos; + v)); } } 

Sortir:

 Company: Wipro, Net worth: .5 billion Company: TCS, Net worth: 0 billion