Java programoje iteracija per žemėlapį gali būti atliekama įvairiais būdais. Atminkite, kad negalime kartoti žemėlapio tiesiogiai naudodami iteratoriai , nes žemėlapio sąsaja nėra kolekcijos dalis. Visi žemėlapiai „Java“ įrenginiuose Žemėlapis sąsaja. „Java“ yra šių tipų žemėlapiai:
- HashMap
- TreeMap
- LinkedHashMap
Žemėlapis nėra kolekcija, bet vis tiek apsvarstykite kolekcijų sistemą. Taigi žemėlapis yra sąsaja, kuri neplečia kolekcijų sąsajos.
Iteratorius
Iteratorius yra sąsaja, naudojama kartoti per kolekciją. „Java Collections Framework“ jis užima išvardijimo vietą. Skirtumas tarp iteratoriaus ir sąrašo yra:
- Iteratorius gali pereiti senus ir nepasenusius elementus, o surašymas gali pereiti tik senus elementus.
- Iteratorius yra greitas, o surašymas nėra greitas.
Kolekcijos peržiūros
Rinkinio rodinių metodas leidžia žiūrėti žemėlapį kaip kolekciją šiais būdais:
Žemėlapio sąsaja taip pat turi mažą įdėtą sąsają, vadinamą Žemėlapis.įrašas . Kolekcijos rodinys yra vienintelė priemonė kartoti žemėlapį.
vardas
Iteratoriaus sąsajos naudojimas
Iteracijos per HashMap pavyzdys
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)); } } }
Išvestis:
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
Naudojant keyset() ir value() metodus
keyset (): A keySet() metodas HashMap Klasė naudojama kartoti žemėlapyje esančius raktus. Grąžina klavišų rinkinio rodinį.
Sintaksė
Set keyset()
reikšmės (): A reikšmės () metodas HashMap klasė naudojama žemėlapyje esančioms reikšmėms kartoti. Tai grąžina vertybių rinkinio rodinį.
numpy dot produktas
Sintaksė
Collection values()
Pavyzdys
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); } }
Išvestis:
State: Gujarat State: Sikkim State: Uttar Pradesh Capital: Gandhi Nagar Capital: Ganagtok Capital: Lucknow
Naudojant Map.entrymetodą
Map.Entry yra sąsaja. Tai grąžina žemėlapio kolekcijos vaizdą, kurio elementai yra šios klasės.
Metodas map.entrySet() grąžina žemėlapyje esančio atvaizdavimo rinkinio rodinį. Žemėlapio pakeitimai taip pat atsispindi rinkinyje ir atvirkščiai. Jis taip pat palaiko elementų pašalinimą, kuris pašalina atitinkamą atvaizdavimą iš žemėlapio.
iškviesti javascript funkciją iš html
Sintaksė
Set<map.entry> entrySet() </map.entry>
Pavyzdys
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()); } } }
Išvestis:
sql pasirinkti kaip
Item: Oats, Price: 220.0 Item: Dry Fruits, Price: 434.23 Item: Cookies, Price: 90.87 Item: Chocolate, Price: 70.89
Iteracija per raktus ir verčių gavimas
Pavyzdys
Šiame pavyzdyje pirmiausia kartojame klavišus ir tada gauname reikšmes.
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); } } }
Išvestis:
rom
Key: Rahul, Value: Tiwari Key: Devesh, Value: Mishra Key: Sumit, Value: Singh
Naudojant forEach() metodą
The kiekvienam() metodas ArrayList naudojamas kiekvienam Iterable elementui atlikti, kol visi elementai bus apdoroti.
Sintaksė
public void forEach(Consumer action)
Metodas naudoja veiksmą (veiksmą, kurį reikia atlikti kiekvienam elementui) kaip parametrą. Tai nieko negrąžina. Tai meta NullPointerException jei nurodytas veiksmas yra niekinis.
Pavyzdys
Šiame pavyzdyje mes naudojame lambda išraišką forEach() metodo viduje, kad spausdintume kiekvieną žemėlapio elementą.
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)); } }
Išvestis:
Company: Wipro, Net worth: .5 billion Company: TCS, Net worth: 0 billion