logo

Kuinka iteroida karttaa Javassa

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:

    avainsarja:Se on kartan sisältämä näppäinsarja.arvot:Se on karttaan sisältyvien arvojen kokoelma.merkintäjoukko:Se on joukko avain-arvo-pareja kartassa.

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

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

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

Lähtö:

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