Java HashMap - Weet hoe u HashMap in Java moet implementeren



Dit artikel over Java HashMap geeft je de HashMap-klasse in Java, die deel uitmaakt van de Java-collectie sinds Java 1.2. Het biedt de basisimplementatie van de kaartinterface in Java.

Hash kaart is een op kaarten gebaseerde verzamelingsklasse in Java die wordt gebruiktom gegevens op te slaan in sleutel- en waardeparen. Het helpt ook bij het implementeren van de kaartinterface in Java. Door middel van dit artikel zal ik je vertellen hoe je het moet implementeren Hash kaart.

Onderstaande onderwerpen komen aan bod in dit artikel:





Wat is een Java HashMap?

Hash kaart is eigenlijk een onderdeel van sinds Java 1.2. Het biedt de basisimplementatie van de kaart interface in Java . Het slaat de gegevens over het algemeen in paren op in de vorm van (Sleutel, Waarde). Om toegang te krijgen tot een waarde binnen de HashMap moet men de sleutel kennen.

Sleutelwaardeparen - Java HashMap - EdurekaHet wordt HashMap genoemd omdat het een techniek gebruikt die Hashing wordt genoemd. Hashing is een proces waarbij een grotere string naar een kleinere wordt geconverteerd door de waarde van de als constant. De resulterende gecomprimeerde waarde helpt bij het indexeren en snellere zoekopdrachten.



Laten we hiermee nu de verschillende functies van HashMap in Java leren kennen.

Kenmerken van HashMap

  • Hash Map is een onderdeel van een util pakket in Java .

  • HashMap breidt een abstracte klasse AbstractMap die ook een onvolledige implementatie van de kaartinterface biedt.



  • Het implementeert ook Cloneable en Serialiseerbaar K en V in de bovenstaande definitie vertegenwoordigen respectievelijk Sleutel en Waarde.

  • HashMap staat geen dubbele sleutels toe, maar wel dubbele waarden. Dat betekent dat één sleutel niet meer dan één waarde kan bevatten, maar dat meer dan één sleutel één waarde kan bevatten.

  • HashMap staat alleen een null-sleutel toe, maar er kunnen meerdere null-waarden worden gebruikt.

  • Deze klasse geeft geen garanties met betrekking tot de volgorde van de kaart in het bijzonder, het garandeert niet dat de volgorde in de loop van de tijd constant zal blijven. Het lijkt ongeveer op de hash-tabel, maar is niet gesynchroniseerd.

Nu u weet wat Hashmap en de verschillende functies ervan zijn, gaan we verder en gaan we de prestaties van Java Hashmap begrijpen.

Prestaties van Java HashMap

De prestaties zijn voornamelijk afhankelijk van 2 parameters:

  1. Initiële capaciteit : Capaciteit is gewoon het aantal emmers, terwijl de Initiële capaciteit is de capaciteit van de HashMap-instantie wanneer deze wordt gemaakt.
  2. Ladingsfactor: De Ladingsfactor is een maatregel die bij het opnieuw haspelen moet worden uitgevoerd. Rehashing is een proces waarbij de capaciteit wordt vergroot. In HashMap wordt de capaciteit vermenigvuldigd met 2. Belastingsfactor is ook een maatstaf om te beslissen welk deel van de HashMap mag worden gevuld voordat het opnieuw wordt gehasht. Wanneer het aantal vermeldingen in de HashMap toeneemt, neemt ook het product van huidige capaciteit en Load Factor capaciteit toe. Dat houdt in dat het opnieuw haspelen is voltooid.

Opmerking :Als de initiële capaciteit hoger wordt gehouden, zal er nooit opnieuw worden gereinigd. Maar door het hoger te houden, verhoogt het de tijdcomplexiteit van iteratie. Het moet dus heel slim worden gekozen om de prestaties te verbeteren. Bij het instellen van de initiële capaciteit moet rekening worden gehouden met het verwachte aantal waarden. De waarde van de belastingsfactor in het algemeen is 0,75, wat een goede verhouding biedt tussen tijd- en ruimtekosten. De waarde van de belastingsfactor varieert tussen 0 en 1.

Constructeurs in HashMap

HashMap biedt er vier constructeurs en de toegang tot bewerken van elk van hen is openbaar:

Constructeurs Omschrijving
1. HashMap () Het is de standaardconstructor die een instantie van HashMap maakt met initiële capaciteit 16 en belastingsfactor 0,75.
2. HashMap (int initiële capaciteit) Dit wordt gebruikt om een ​​HashMap-instantie te maken met een gespecificeerde initiële capaciteit en belastingsfactor 0,75
3. HashMap (int initiële capaciteit, float-belastingsfactor) Het creëert een HashMap-instantie met een gespecificeerde initiële capaciteit en gespecificeerde belastingsfactor.
4. HashMap (kaartkaart) Het maakt een instantie van HashMap met dezelfde toewijzingen als een opgegeven kaart.

Laten we nu eens kijken hoe we HashMap kunnen implementeren in Java .

php instellen op windows

HashMap-implementatie

Onderstaand programma illustreert hoe u HashMap in Java implementeert.

pakket Edureka // Java-programma ter illustratie //Java.util.HashMap import java.util.HashMap import java.util.Map public class Hashmap {public static void main (String [] args) {HashMa map = new HashMap () print (map) map.put ('abc', 10) map.put ('mno', 30) map.put ('xyz', 20) System.out.println ('Grootte van kaart is' + map.size ( )) print (map) if (map.containsKey ('mno')) {Geheel getal a = map.get ('mno') System.out.println ('waarde voor sleutel ' mno  'is: -' + a )} map.clear () print (map)} openbare statische leegte print (Map map) {if (map.isEmpty ()) {System.out.println ('map is leeg')} anders {System.out.println (kaart) } } }

Bij het uitvoeren van het HashMap-programma verloopt de uitvoer als volgt:

kaart is leeg Grootte van kaart is: - 3 {abc = 10, xyz = 20, mno = 30} waarde voor sleutel 'abc' is: - 10 kaart is leeg

Dit brengt ons dus bij het einde van de HashMap-artikel. Ik hoop dat je het informatief vond en je hielp bij het begrijpen van de grondbeginselen.

Bekijk de door Edureka, een vertrouwd online leerbedrijf met een netwerk van meer dan 250.000 tevreden leerlingen verspreid over de hele wereld. We zijn hier om je te helpen bij elke stap op je reis, om naast deze Java-interviewvragen ook een curriculum te bedenken dat is ontworpen voor studenten en professionals die een Java-ontwikkelaar willen worden. De cursus is bedoeld om u een voorsprong te geven in het programmeren van Java en u te trainen in zowel de kern als geavanceerde Java-concepten, samen met verschillende Java-frameworks zoals Hibernate & Spring.

Heeft u een vraag voor ons? Vermeld het alstublieft in het commentaargedeelte van deze “Java HashMap ' artikel en we nemen zo snel mogelijk contact met u op.