logo

Hoe elke kaart in Java te herhalen

Over het algemeen zijn er vijf manieren om over a te itereren Kaart op Java. In dit artikel zullen we ze allemaal bespreken en ook kijken naar hun voor- en nadelen.
Allereerst wij kan niet herhaal een kaart rechtstreeks met behulp van iteratoren , omdat Kaart dat niet is Verzameling. Voordat u verder gaat, moet u er ook iets van weten Kaart.Invoer koppel.
Omdat alle kaarten in Java worden geïmplementeerd Kaart interface, zullen de volgende technieken werken voor elke kaartimplementatie ( HashMap , TreeMap , LinkedHashMap , Hashtable , enz.)

1. Itereren over Map.entrySet() met behulp van For-Each-lus:
Kaart.entrySet() methode retourneert een collectie-view( Set ) van de afbeeldingen op deze kaart. We kunnen dus het sleutel-waardepaar herhalen met behulp van getKey() En getWaarde() methodes van Kaart.Invoer . Deze methode komt het meest voor en moet worden gebruikt als u zowel kaartsleutels als waarden in de lus nodig heeft. Hieronder vindt u het Java-programma om het te demonstreren.



Java


Java-enums





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



>

>

Uitgang:

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

2. Sleutels of waarden herhalen met behulp van de methoden keySet() en waarden().
Map.keySet() methode retourneert een Set-weergave van de sleutels in deze kaart en Kaart.waarden() methode retourneert een verzamelingsweergave van de waarden in deze kaart. Dus als u alleen sleutels of waarden van de kaart nodig heeft, kunt u keySet of waarden herhalen met behulp van for-each-lussen. Hieronder vindt u het Java-programma om het te demonstreren.

Java




// 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);> >}> }>

>

>

Uitgang:

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

3. Itereren met behulp van iterators Kaart.Invoer
Deze methode lijkt enigszins op de eerste. In de eerste methode gebruiken we for-elke lus over Map.Entry, maar hier gebruiken we iteratoren . Het gebruik van iterators boven Map.Entry heeft zijn eigen voordeel, namelijk we kunnen tijdens de iteratie vermeldingen van de kaart verwijderen door te bellen iterator.verwijder() methode.

hoe verborgen apps op Android te openen

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

>

>

heap-sorteeralgoritme

Uitgang:

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

4. Gebruik de forEach(actie)-methode:
In Java 8 kunt u een kaart herhalen met behulp van Map.forEach(actie) methode en gebruik lambda-expressie . Deze techniek is schoon en snel.

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) ->Systeem.out.println(>'Key = '> >+ k +>', Value = '> + v));> > >}> }>

>

>

Uitgang:

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

5. Sleutels herhalen en naar waarden zoeken (inefficiënt)
Hier doorlopen we eerst de toetsen (met behulp van Map.keySet() methode) en zoek vervolgens naar waarde (met behulp van Map.get(sleutel) methode) voor elke sleutel. Deze methode wordt in de praktijk niet gebruikt, omdat deze behoorlijk traag en inefficiënt is, omdat het verkrijgen van waarden via een sleutel tijdrovend kan zijn.

Java




// 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);> >}> >}> }>

>

>

pete davidson leeftijd

Uitgang:

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

Referenties: Stackoverflow