logo

Hogyan iteráljuk a térképet Java nyelven

Java nyelven a Map iterációja többféleképpen is végrehajtható. Ne feledje, hogy nem iterálhatunk a térképen közvetlenül a használatával iterátorok , mert a Térkép felület nem a Gyűjtemény része. Minden térkép Java implementációban Térkép felület. Java nyelven a következő típusú térképek vannak:

  • HashMap
  • TreeMap
  • LinkedHashMap

A térkép nem gyűjtemény, de ennek ellenére fontolja meg a Gyűjtemények keretrendszerben. Ezért a térkép olyan felület, amely nem terjeszti ki a gyűjtemények felületét.

Iterátor

Az iterátor egy interfész, amelyet a gyűjtemény iterálására használnak. A Java Collections Frameworkben az Enumeration helyét veszi át. Az iterátor és a felsorolás közötti különbség a következő:

  • Az Iterator a régi és a nem örökölt elemeket képes átjárni, míg az Enumeration csak a régi elemeket.
  • Az iterátor hibagyors, míg a felsorolás nem hibagyors.

Gyűjtemény nézetek

A gyűjteménynézeti módszer lehetővé teszi a térkép gyűjteményként való megtekintését a következő módokon:

    kulcskészlet:Ez a térképen található kulcskészlet.értékek:Ez a térképen található értékek gyűjteménye.bejegyzéskészlet:Ez egy kulcs-érték pár halmaza a térképen.

A Map felületnek van egy kis beágyazott felülete is Térkép.bejegyzés . A gyűjteménynézet az egyetlen mód a térképen való iterációra.

konvertálja a karakterláncot char java-ba

Iterator interfész használata

Példa a HashMap feletti iterációra

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

Kimenet:

 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 

Keyset() és value() metódus használata

keyset(): A keySet() a metódusa HashMap osztályt használjuk a térképen található kulcsok iterációjához. Visszaadja a billentyűk Set nézetét.

szál szinkronizálás

Szintaxis

 Set keyset() 

értékek(): A értékek() a metódusa HashMap osztályt használjuk a térképen szereplő értékek iterációjára. Az értékek gyűjteménynézetét adja vissza.

Szintaxis

 Collection values() 

Példa

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

Kimenet:

hogyan lehet tömböt létrehozni java-ban
 State: Gujarat State: Sikkim State: Uttar Pradesh Capital: Gandhi Nagar Capital: Ganagtok Capital: Lucknow 

A Map.entrymethod használata

A Map.Entry egy interfész. Visszaadja a térkép gyűjteménynézetét, amelynek elemei ebbe az osztályba tartoznak.

A map.entrySet() metódus a térképen található leképezés halmaznézetét adja vissza. A térkép változásai a készletben is megjelennek, és fordítva. Támogatja az elemeltávolítást is, amely eltávolítja a megfelelő leképezést a térképről.

Szintaxis

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

Példa

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

Kimenet:

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

Kulcsok iterációja és értékek lekérése

Példa

A következő példában először a kulcsokat iteráljuk, majd megkapjuk az értékeket.

mi az az internet
 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); } } } 

Kimenet:

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

A forEach() metódus használata

A az egyes() a metódusa Tömb lista az Iterable minden elemére vonatkozó művelet végrehajtására szolgál, amíg az összes elemet fel nem dolgozták.

Szintaxis

részkarakterlánc java-ban
 public void forEach(Consumer action) 

A metódus paraméterként veszi fel a műveletet (az egyes elemeknél végrehajtandó műveletet). Nem ad vissza semmit. Ez dob NullPointerException ha a megadott művelet nulla.

Példa

A következő példában lambda kifejezést használunk a forEach() metóduson belül a térkép egyes elemeinek kinyomtatására.

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

Kimenet:

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