Javassa iterointi Mapissa voidaan tehdä useilla tavoilla. Muista, että emme voi iteroida karttaa suoraan käyttämällä iteraattorit , koska Karttakäyttöliittymä ei ole osa kokoelmaa. Kaikki kartat Java-työkaluilla Kartta käyttöliittymä. Javassa on seuraavan tyyppisiä karttoja:
- HashMap
- TreeMap
- LinkedHashMap
Kartta ei ole kokoelma, mutta harkitse silti Kokoelmat-kehyksen alla. Näin ollen kartta on käyttöliittymä, joka ei laajenna Kokoelmien käyttöliittymää.
Iteraattori
Iteraattori on käyttöliittymä, jota käytetään kokoelman iterointiin. Se korvaa Enumerationin Java Collections Frameworkissa. Ero iteraattorin ja luetteloinnin välillä on:
- Iteraattori voi kulkea vanhojen ja ei-vanhojen elementtien läpi, kun taas Enumeration voi kulkea vain vanhojen elementtien läpi.
- Iteraattori on nopea, kun taas luettelointi ei ole nopea.
Kokoelman näkymät
Kokoelmanäkymät-menetelmän avulla karttaa voidaan tarkastella kokoelmana seuraavilla tavoilla:
Karttakäyttöliittymässä on myös pieni sisäkkäinen käyttöliittymä nimeltä Kartta.merkintä . Kokoelmanäkymä on ainoa tapa iteroida kartalla.
kuinka poistaa kehittäjätila käytöstä Androidissa
Iterator-käyttöliittymän käyttö
Esimerkki iteraatiosta HashMapin kautta
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)); } } }
Lähtö:
dfa automata esimerkkejä
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
Käytä keyset()- ja value()-metodeja
keyset(): A keySet() menetelmä HashMap luokkaa käytetään iterointiin kartan sisältämien avainten yli. Se palauttaa näppäinten asetusnäkymän.
Syntaksi
Set keyset()
arvot(): A arvot() menetelmä HashMap luokkaa käytetään kartan sisältämien arvojen iterointiin. Se palauttaa arvojen kokoelmanäkymän.
Syntaksi
Collection values()
Esimerkki
jquery napsautuksella
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); } }
Lähtö:
State: Gujarat State: Sikkim State: Uttar Pradesh Capital: Gandhi Nagar Capital: Ganagtok Capital: Lucknow
Map.entry-menetelmän käyttäminen
Map.Entry on käyttöliittymä. Se palauttaa kokoelmanäkymän kartasta, jonka elementit kuuluvat tähän luokkaan.
Map.entrySet()-metodi palauttaa kartan sisältämän kartoituksen joukkonäkymän. Kartan muutokset näkyvät myös sarjassa ja päinvastoin. Se tukee myös elementtien poistoa, joka poistaa vastaavan kartoituksen kartalta.
Syntaksi
javascript päivämäärä
Set<map.entry> entrySet() </map.entry>
Esimerkki
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()); } } }
Lähtö:
Item: Oats, Price: 220.0 Item: Dry Fruits, Price: 434.23 Item: Cookies, Price: 90.87 Item: Chocolate, Price: 70.89
Iterointi avainten yli ja arvojen saaminen
Esimerkki
Seuraavassa esimerkissä toistetaan ensin avaimet ja sitten hankitaan arvot.
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); } } }
Lähtö:
Key: Rahul, Value: Tiwari Key: Devesh, Value: Mishra Key: Sumit, Value: Singh
ForEach()-menetelmän käyttäminen
The jokaiselle() menetelmä ArrayList käytetään suorittamaan toiminto jokaiselle iterable-elementille, kunnes kaikki elementit on käsitelty.
Syntaksi
public void forEach(Consumer action)
Metodi ottaa toiminnon (jokaiselle elementille suoritettavan toiminnon) parametrina. Se ei palauta mitään. Se heittää NullPointerException jos määritetty toiminto on tyhjä.
java lista
Esimerkki
Seuraavassa esimerkissä käytämme lambda-lauseketta forEach()-menetelmän sisällä jokaisen kartan elementin tulostamiseen.
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)); } }
Lähtö:
Company: Wipro, Net worth: .5 billion Company: TCS, Net worth: 0 billion