logo

Cum se repetă Harta în Java

În Java, iterația peste Map se poate face în diferite moduri. Amintiți-vă că nu putem itera peste hartă direct folosind iteratoare , deoarece interfața Map nu face parte din Collection. Toate hărțile din implementare Java Hartă interfata. Există următoarele tipuri de hărți în Java:

  • HashMap
  • Harta copacului
  • LinkedHashMap

O hartă nu este o colecție, dar totuși, luați în considerare în cadrul colecțiilor. Prin urmare, o hartă este o interfață care nu extinde interfața Colecții.

Iterator

Un iterator este o interfață utilizată pentru iterare peste o colecție. Acesta ia locul Enumerării în Java Collections Framework. Diferența dintre iterator și enumerare este:

  • Iteratorul poate traversa elementele moștenite și nelegate, în timp ce Enumeration poate traversa doar elementele moștenite.
  • Iteratorul este rapid la eșec, în timp ce enumerarea nu este rapid.

Vizualizări ale colecției

Metoda vizualizărilor colecției permite ca o hartă să fie vizualizată ca o colecție în următoarele moduri:

    set de chei:Este setul de chei conținut în Hartă.valori:Este colecția de valori conținute în Hartă.entrySet:Este un set de perechi cheie-valoare din Hartă.

Interfața Map are, de asemenea, o mică interfață imbricată numită Hartă.intrare . Vizualizarea colecției oferă singurul mijloc de a itera pe o hartă.

felierea java

Folosind interfața Iterator

Exemplu de iterație peste 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)); } } } 

Ieșire:

 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 

Folosind metoda keyset() și value().

set de taste(): A keySet() Metodă de HashMap clasa este folosită pentru iterare peste cheile conținute în hartă. Acesta returnează vizualizarea Set a tastelor.

Sintaxă

ce este cablat automat în java
 Set keyset() 

valori(): A valori () Metodă de HashMap clasa este folosită pentru iterația peste valorile conținute în hartă. Returnează o vedere de colecție a valorilor.

Sintaxă

 Collection values() 

Exemplu

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

Ieșire:

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

Folosind Map.entrymethod

Map.Entry este o interfață. Returnează o vedere de colecție a hărții, ale cărei elemente sunt din această clasă.

design singleton

O metodă map.entrySet() returnează o vizualizare Set a mapării conținute în hartă. Modificările din hartă sunt reflectate și în set și invers. De asemenea, acceptă eliminarea elementelor, care elimină maparea corespunzătoare de pe hartă.

Sintaxă

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

Exemplu

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

Ieșire:

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

Iterație peste chei și obținerea de valori

Exemplu

gol 0

În exemplul următor, mai întâi repetăm ​​cheile și apoi obținem valorile.

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

Ieșire:

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

Folosind metoda forEach().

The pentru fiecare() Metodă de ArrayList este folosit pentru a efectua o acțiune pentru fiecare element din Iterable până când toate elementele au fost procesate.

pete davidson

Sintaxă

 public void forEach(Consumer action) 

Metoda ia acțiune (acțiunea care trebuie efectuată pentru fiecare element) ca parametru. Nu returneaza nimic. Aruncă NullPointerException dacă acțiunea specificată este nulă.

Exemplu

În exemplul următor, folosim expresia lambda în cadrul metodei forEach() pentru a imprima fiecare element al hărții.

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

Ieșire:

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