logo

Com repetir el mapa en Java

A Java, la iteració sobre Map es pot fer de diverses maneres. Recordeu que no podem iterar sobre el mapa utilitzant directament iteradors , perquè la interfície del mapa no forma part de la col·lecció. Tots els mapes en implements de Java Mapa interfície. Hi ha els següents tipus de mapes a Java:

  • HashMap
  • TreeMap
  • LinkedHashMap

Un mapa no és una col·lecció, però, tot i així, tingueu en compte el marc de col·leccions. Per tant, un mapa és una interfície que no amplia la interfície de les col·leccions.

Iterador

Un iterador és una interfície utilitzada per iterar sobre una col·lecció. Pren el lloc de l'enumeració a Java Collections Framework. La diferència entre iterador i enumeració és:

  • L'iterador pot travessar elements heretats i no heretats, mentre que l'enumeració només pot travessar elements heretats.
  • L'iterador és ràpid de fallar mentre que l'enumeració no és ràpid de falla.

Visualitzacions de la col·lecció

El mètode de visualitzacions de col·lecció permet veure un mapa com a col·lecció de les maneres següents:

    conjunt de claus:És el conjunt de claus que conté el Mapa.valors:És la col·lecció de valors continguts al Mapa.entrySet:És un conjunt de parells clau-valor al mapa.

La interfície del mapa també té una petita interfície imbricada anomenada Mapa.entrada . La vista de col·lecció proporciona l'únic mitjà per iterar sobre un mapa.

dreceres de Linux

Utilitzant la interfície Iterator

Exemple d'iteració sobre 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)); } } } 

Sortida:

què és rom
 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 

Utilitzant el mètode keyset() i value().

joc de claus (): A keySet() mètode de HashMap La classe s'utilitza per a la iteració sobre les claus contingudes al mapa. Retorna la vista Set de les tecles.

Sintaxi

 Set keyset() 

valors (): A valors () mètode de HashMap La classe s'utilitza per a la iteració sobre els valors continguts al mapa. Retorna una vista de col·lecció dels valors.

Sintaxi

 Collection values() 

Exemple

"Quina diferència hi ha entre un lleó i un tigre"
 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); } } 

Sortida:

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

Utilitzant Map.entrymethod

Map.Entry és una interfície. Retorna una vista de col·lecció del mapa, els elements del qual són d'aquesta classe.

Un mètode map.entrySet() retorna una vista Set de la mapatge continguda al mapa. Els canvis en el mapa també es reflecteixen en el conjunt i viceversa. També admet l'eliminació d'elements, que elimina el mapa corresponent del mapa.

Sintaxi

declaració java switch
 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()); } } } 

Sortida:

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

Iteració sobre claus i obtenció de valors

Exemple

A l'exemple següent, primer iterem sobre les claus i després obtenim els valors.

 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); } } } 

Sortida:

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

Utilitzant el mètode forEach().

El per cadascú() mètode de ArrayList s'utilitza per dur a terme una acció per a cada element de l'iterable fins que s'han processat tots els elements.

Sintaxi

 public void forEach(Consumer action) 

El mètode pren l'acció (l'acció a realitzar per a cada element) com a paràmetre. No retorna res. Es tira NullPointerException si l'acció especificada és nul·la.

Com obtenir emojis d'iPhone a Android

Exemple

A l'exemple següent, estem utilitzant l'expressió lambda dins del mètode forEach() per imprimir cada element del mapa.

 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)); } } 

Sortida:

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