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:
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('Cookies', 90.87f); map.put('Dry Fruits', 434.23f); map.put('Oats', 220.00f); map.put('Chocolate', 70.89f); for (Map.Entry entry : map.entrySet()) //using map.entrySet() for iteration { //returns keys and values respectively System.out.println('Item: ' + entry.getKey() + ', Price: ' + 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('Sumit', 'Singh'); map.put('Devesh', 'Mishra'); map.put('Rahul', 'Tiwari'); 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('Key: ' + name + ', Value: ' + 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('TCS', '0 billion'); map.put('Wipro', '.5 billion'); //iteration over map using forEach() method map.forEach((k,v) -> System.out.println('Company: '+ k + ', Net worth: ' + v)); } }
Kimenet:
Company: Wipro, Net worth: .5 billion Company: TCS, Net worth: 0 billion