logo

Kā iterēt jebkuru karti Java

Kopumā ir pieci veidi, kā atkārtot a Karte Java valodā. Šajā rakstā mēs apspriedīsim tos visus, kā arī apskatīsim to priekšrocības un trūkumus.
Pirmkārt, mēs nevar atkārtojiet karti tieši, izmantojot iteratori , jo Karte nav Kolekcija. Arī pirms došanās tālāk, jums ir jāzina mazliet par Karte.Ieeja saskarne.
Tā kā visas Java kartes tiek īstenotas Karte interfeisu, šādas metodes darbosies jebkurai kartes ieviešanai (HashMap , TreeMap , LinkedHashMap , Hashtable u.c.)

1. Iterācija, izmantojot Map.entrySet(), izmantojot For-Each cilpu:
Map.entrySet() metode atgriež kolekcijas skatu ( Iestatīt ) no šajā kartē ietvertajiem kartējumiem. Tātad mēs varam atkārtot atslēgas vērtību pāri, izmantojot getKey() un getValue() metodes Karte.Ieeja . Šī metode ir visizplatītākā, un tā ir jāizmanto, ja cilpā ir nepieciešami gan kartes atslēgas, gan vērtības. Zemāk ir java programma, lai to demonstrētu.



Java


kas ir map java





// Java program to demonstrate iteration over> // Map.entrySet() entries using for-each loop> > import> java.util.Map;> import> java.util.HashMap;> > class> IterationDemo> {> >public> static> void> main(String[] arg)> >{> >Map gfg =>new> HashMap();> > >// enter name/url pair> >gfg.put(>'GFG'>,>'techcodeview.com'>);> >gfg.put(>'Practice'>,>'practice .techcodeview.com>);> >gfg.put(>'Code'>,>'code .techcodeview.com>);> >gfg.put(>'Quiz'>,>'www .techcodeview.com>);> > >// using for-each loop for iteration over Map.entrySet()> >for> (Map.Entry entry : gfg.entrySet())> >System.out.println(>'Key = '> + entry.getKey() +> >', Value = '> + entry.getValue());> >}> }>



>

>

Izvade:

Key = Quiz, Value = www.techcodeview.com Key = Practice, Value = practice.techcodeview.com Key = GFG, Value = techcodeview.com Key = Code, Value = code.techcodeview.com>

2. Atslēgām vai vērtībām atkārtošana, izmantojot keySet() un vērtības() metodes
Map.keySet() metode atgriež šajā kartē ietverto taustiņu kopas skatu un Map.values() metode atgriež šajā kartē ietverto vērtību kolekcijas skatu. Tātad, ja jums ir nepieciešami tikai atslēgas vai vērtības no kartes, varat atkārtot keySet vai vērtības, izmantojot katrai cilpai. Zemāk ir java programma, lai to demonstrētu.

Java


livecricket.is



// Java program to demonstrate iteration over> // Map using keySet() and values() methods> > import> java.util.Map;> import> java.util.HashMap;> > class> IterationDemo> {> >public> static> void> main(String[] arg)> >{> >Map gfg =>new> HashMap();> > >// enter name/url pair> >gfg.put(>'GFG'>,>'techcodeview.com'>);> >gfg.put(>'Practice'>,>'practice .techcodeview.com>);> >gfg.put(>'Code'>,>'code .techcodeview.com>);> >gfg.put(>'Quiz'>,>'www .techcodeview.com>);> > >// using keySet() for iteration over keys> >for> (String name : gfg.keySet())> >System.out.println(>'key: '> + name);> > >// using values() for iteration over values> >for> (String url : gfg.values())> >System.out.println(>'value: '> + url);> >}> }>

>

>

Izvade:

key: Quiz key: Practice key: GFG key: Code value: www.techcodeview.com value: practice.techcodeview.com value: techcodeview.com value: code.techcodeview.com>

3. Iterācija, izmantojot iteratorus, beigusies Karte.Ieeja
Šī metode ir nedaudz līdzīga pirmajai. Pirmajā metodē mēs izmantojam katrai cilpai virs Map.Entry, bet šeit mēs izmantojam iteratori . Iteratoru izmantošanai salīdzinājumā ar Map.Entry ir savas priekšrocības, t.i. iterācijas laikā varam izņemt ierakstus no kartes, zvanot iterator.remove() metodi.

Java




// Java program to demonstrate iteration over> // Map using keySet() and values() methods> > import> java.util.Map;> import> java.util.HashMap;> import> java.util.Iterator;> > class> IterationDemo> {> >public> static> void> main(String[] arg)> >{> >Map gfg =>new> HashMap();> > >// enter name/url pair> >gfg.put(>'GFG'>,>'techcodeview.com'>);> >gfg.put(>'Practice'>,>'practice .techcodeview.com>);> >gfg.put(>'Code'>,>'code .techcodeview.com>);> >gfg.put(>'Quiz'>,>'www .techcodeview.com>);> > >// using iterators> >Iterator itr = gfg.entrySet().iterator();> > >while>(itr.hasNext())> >{> >Map.Entry entry = itr.next();> >System.out.println(>'Key = '> + entry.getKey() +> >', Value = '> + entry.getValue());> >}> >}> }>

java datu bāze jdbc
>

>

Izvade:

Key = Quiz, Value = www.techcodeview.com Key = Practice, Value = practice.techcodeview.com Key = GFG, Value = techcodeview.com Key = Code, Value = code.techcodeview.com>

4. ForEach(action) metodes izmantošana:
Programmā Java 8 varat atkārtot karti, izmantojot Karte.katram(darbība) metode un lietošana lambda izteiksme . Šī tehnika ir tīra un ātra.

Java




// Java code illustrating iteration> // over map using forEach(action) method> > import> java.util.Map;> import> java.util.HashMap;> > class> IterationDemo> {> >public> static> void> main(String[] arg)> >{> >Map gfg =>new> HashMap();> > >// enter name/url pair> >gfg.put(>'GFG'>,>'techcodeview.com'>);> >gfg.put(>'Practice'>,>'practice .techcodeview.com>);> >gfg.put(>'Code'>,>'code .techcodeview.com>);> >gfg.put(>'Quiz'>,>'www .techcodeview.com>);> > >// forEach(action) method to iterate map> >gfg.forEach((k,v) ->System.out.println(>'Key = '> >+ k +>', Value = '> + v));> > >}> }>

>

>

Izvade:

Key = Quiz, Value = www.techcodeview.com Key = Practice, Value = practice.techcodeview.com Key = GFG, Value = techcodeview.com Key = Code, Value = code.techcodeview.com>

5. Atslēgvārdu atkārtošana un vērtību meklēšana (neefektīva)
Šeit vispirms mēs pārslēdzam taustiņus (izmantojot Map.keySet() metodi) un pēc tam meklējiet vērtību (izmantojot Map.get(atslēga) metode) katrai atslēgai. Šo metodi praksē neizmanto, jo tā ir diezgan lēna un neefektīva, jo vērtību iegūšana ar taustiņu var būt laikietilpīga.

Java

java masīvi




// Java program to demonstrate iteration> // over keys and searching for values> > import> java.util.Map;> import> java.util.HashMap;> > class> IterationDemo> {> >public> static> void> main(String[] arg)> >{> >Map gfg =>new> HashMap();> > >// enter name/url pair> >gfg.put(>'GFG'>,>'techcodeview.com'>);> >gfg.put(>'Practice'>,>'practice .techcodeview.com>);> >gfg.put(>'Code'>,>'code .techcodeview.com>);> >gfg.put(>'Quiz'>,>'www .techcodeview.com>);> > >// looping over keys> >for> (String name : gfg.keySet())> >{> >// search for value> >String url = gfg.get(name);> >System.out.println(>'Key = '> + name +>', Value = '> + url);> >}> >}> }>

>

>

Izvade:

Key = Quiz, Value = www.techcodeview.com Key = Practice, Value = practice.techcodeview.com Key = GFG, Value = techcodeview.com Key = Code, Value = code.techcodeview.com>

Atsauces: Stackoverflow