HashMap is een op kaarten gebaseerde verzamelklasse die wordt gebruikt voor het opslaan van sleutel- en waardeparen, het wordt aangeduid als HashMap <Key, Value> of HashMap <K, V>. Deze klasse geeft geen garanties met betrekking tot de volgorde van de kaart. Het is vergelijkbaar met de klasse Hashtable, behalve dat het niet gesynchroniseerd is en nulls toestaat (null-waarden en null-sleutel).
Het is geen geordende verzameling, wat betekent dat de sleutels en waarden niet in dezelfde volgorde worden geretourneerd waarin ze in de HashMap zijn geplaatst. Het sorteert de opgeslagen sleutels en waarden niet. U moet java.util.HashMap
of de superklasse ervan importeren om de HashMap-klasse en -methoden te kunnen gebruiken.
HashMap-voorbeeld in Java:
In dit voorbeeld hebben we bijna alle be>
java.util.HashMap importeren; import java.util.Map; import java.util.Iterator; import java.util.Set; Public class Details {public static void main (String args []) { / * Zo verklaart u HashMap * / HashMap <Integer, String> hmap = new HashMap <Integer, String> (); / * Elementen toevoegen aan HashMap * / hmap.put (12, "Chaitanya"); hmap.put (2, "Rahul"); hmap.put (7, "Singh"); hmap.put (49, "Ajeet"); hmap.put (3, "Anuj"); / * Inhoud weergeven met Iterator * / Set set = hmap.entrySet (); Iterator iterator = set.iterator (); while (iterator.hasNext ()) { Map.Entry mentry = (Map.Entry) iterator.next (); System.out.print ("key is:" + mentry.getKey () + " Value is:"); System.out.println (mentry.getValue ()); } / * Krijg waarden op basis van sleutel * / String var = hmap.get (2); System.out.println ("Waarde bij index 2 is:" + var); / * Verwijder waarden op basis van sleutel * / hmap.remove (3); System.out.println ("Sleutel en waarden van kaart na verwijdering:"); Set set2 = hmap.entrySet (); Iterator iterator2 = set2.iterator (); terwijl (iterator2.hasNext ()) { Map.Entry mentry2 = (Map.Entry) iterator2.next (); System.out.print ("Sleutel is:" + mentry2.getKey () + " Waarde is:"); System.out.println (mentry2.getValue ());}} }
Output:
sleutel is: 49 Waarde is: Ajeet sleutel is: 2 Waarde is: Rahul sleutel is: 3 Waarde is: Anuj sleutel is: 7 Waarde is: Singh sleutel is: 12 Waarde is: Chaitanya Waarde bij index 2 is: Rahul Kaartsleutel en waarden na verwijdering: Sleutel is: 49 Waarde is: Ajeet Sleutel is: 2 Waarde is: Rahul Sleutel is: 7 Waarde is: Singh Sleutel is: 12 Waarde is: Chaitanya
HashMap Class-methoden
Hier is de lijst met beschikbare methoden in de HashMap-klasse. Ik heb ook voorbeelden behandeld met behulp van deze methoden aan het einde van dit bericht.
- void clear () : hiermee verwijdert u alle sleutel- en waardeparen uit de opgegeven kaart.
- Object clone () : het retourneert een kopie van alle toewijzingen van een kaart en gebruikt deze voor het klonen in een andere kaart.
- boolean bevatKey (objectsleutel) : het is een booleaanse functie die waar of onwaar retourneert op basis van het feit of de opgegeven sleutel in de kaart wordt gevonden.
- boolean containValue (Object Value) : gelijk aan methode methodeKey (), maar zoekt naar de opgegeven waarde in plaats van de sleutel.
- Waarde get (objectsleutel) : hiermee wordt de waarde voor de opgegeven sleutel geretourneerd.
- boolean isEmpty () : hiermee wordt gecontroleerd of de kaart leeg is. Als er geen sleutel / waarde-toewijzing in de kaart aanwezig is, retourneert deze functie true else false.
- Set keySet () : het retourneert de set sleutels die van de kaart is opgehaald.
- value put (Key k, Value v) : Voegt sleutelwaardetoewijzing in de kaart in. Gebruikt in het bovenstaande voorbeeld.
- int size () : Retourneert de grootte van de kaart - Aantal sleutel / waarde-toewijzingen.
- Waarden verzameling () : het retourneert een verzameling waarden van de kaart.
- Waarde verwijderen (objectsleutel) : hiermee wordt het sleutel / waarde-paar voor de opgegeven sleutel verwijderd. Gebruikt in het bovenstaande voorbeeld.
- void putAll (Map m) : kopieert alle elementen van een kaart naar de andere opgegeven kaart.
HashMap-zelfstudies
Hier is de lijst met handleidingen gepubliceerd over de HashMap-klasse. Gelukkig leren :)
HashMap Basics
- Hoe HashMap te itereren
- Sorteer HashMap op sleutels en waarden
- Verkrijg de grootte van HashMap
- Verwijder Key-value mapping uit HashMap
- Verwijder alle kaarten van HashMap
- Hoe te controleren of HashMap leeg is of niet?
Get / Zoeken
- Controleer of een bepaalde sleutel bestaat in HashMap
- Controleer of bepaalde waarde bestaat in HashMap
Serialize / Synchroniseren
verschillen
Andere zelfstudies
- HashMap Iterator-voorbeeld
- Kopieer de ene HashMap naar de andere
- Haal waarde uit HashMap met Key
- Krijg Set weergave van sleutels van HashMap
- HashMap klonen
Geestverruimend ...
Doe iets zodat uw website meer weergaven kan hebben ……… dit is zeer nuttig voor beginners ……………….
Bedankt voor je vriendelijke woorden Raju :)
zeer goede uitleg ...
Hallo Chaitanya,
Deze tutorial is echt heel begrijpelijk.
Ik probeer al heel >
Hallo meneer,
Ik begrijp niet waarom je set hebt gebruikt voor itereren terwijl het gemakkelijk kan worden gedaan met keySet () ;.
keyset () retourneert ook SET.
maar als u KeySet () gebruikt, worden alle sleutels in één keer geretourneerd, maar als u elke sleutel wilt doorlopen en een bewerking wilt uitvoeren, had u iets anders nodig en hetzelfde werd uitgelegd door Chaitanya ..
Hoop dat dit helpt!
Waarom krijg ik NullPointerException?
Er zijn mogelijk geen objecten beschikbaar in dat gebied of de ruimte waarin u zich bevindt.
We kunnen bijvoorbeeld een array nemen
int a [] = new int [5];
hier zijn de beschikbare waarden een [0], een [1], een [2], een [3], een [4] als u waarden probeert vast te stellen voor een [5] dan krijgt u nullpointerexception !!!!! !!
Ik wil weten waarom de volgorde van de uitvoer niet hetzelfde is als wij ze invoeren. Zou je me je antwoord willen e-mailen? Bedankt!
Hallo Andrew,
Ik vroeg me hetzelfde af, ik denk dat het gewoon een eigenschap is van HashMaps dat er geen bestelling is. Wanneer u items toevoegt die u niet toevoegt na bestaande invoer, wordt u alleen toegevoegd aan een pool met sleutel / waarde-paren.
Lees deze regels alstublieft opnieuw
Het is geen geordende verzameling, wat betekent dat het de sleutels en waarden niet teruggeeft in dezelfde volgorde waarin ze in de Hash Map zijn ingevoegd. Het sorteert de opgeslagen sleutels en waarden niet.