Java HashMap vs Hashtable: wat is het verschil?



Dit artikel over Java HashMap vs Hashtable geeft je een korte beschrijving van Java HashMap en Hashtable en ook de belangrijkste verschillen tussen deze twee

Op instapniveau een van de meest gevraagde gaat over Java HashMap versus Hashtable. U moet dus volledig voorbereid zijn om alles wat met Hash kaart of hashtabel. Java maakt gebruik van HashMap en Hashtable om gegevens op te slaan in de vorm van sleutel en waarden . Dit artikel helpt u dus de belangrijkste verschillen tussen deze twee te kennen.

Ik bespreek de onderwerpen in de volgende volgorde:





Laten we beginnen!

Wat is HashMap?

Hash kaart is een op kaarten gebaseerde verzamelingsklasse in die wordt gebruikt om gegevens op te slaan in sleutel- en waardeparen. Het helpt bij het implementeren van de kaartinterface in Java. Het is eigenlijk een onderdeel van sinds Java versie 1.2 en biedt de basisimplementatie van de kaartinterface in Java. Om toegang te krijgen tot een waarde binnen de HashMap, moet men de waarde ervan kennen Sleutel .



Het wordt HashMap genoemd omdat het een techniek gebruikt die Hashing . Hashing is een proces waarbij een groot naar een kleinere door de waarde van de String constant te houden. De resulterende gecomprimeerde waarde helpt bij het indexeren en snellere zoekopdrachten.

HashMap in Java-JavaHashMap versus Hashtable-Edureka

Wat is een hashtabel?

Een hashtabel is een data structuur dat wordt gebruikt om sleutels / waardeparen op te slaan. In een hashtabel worden gegevens opgeslagen in een matrixindeling, waarbij elke gegevenswaarde zijn eigen unieke indexwaarde heeft. U hebt heel snel toegang tot gegevens als u de index van de gewenste gegevens kent.



Java Hashtable-klasse implementeert een hashtabel die sleutels aan waarden toewijst. Het neemt de klasse Dictionary over en implementeert de kaartinterface.

Java class loader interviewvragen

Hashtable-verklaring

public class Hashtable breidt Dictionary implementeert Map, Cloneable, Serializable

NAAR: Het is het soort sleutels dat op de kaart staat.
V: Dit is het type toegewezen waarden.

Nu jullie hebben begrepen hoe HashMap en Hashtable in Java werken, gaan we eens kijken naar de parameters om de verschillen tussen HashMap en Hashtable te begrijpen.

Laten we nu eens kijken naar de belangrijkste verschillen tussen HashMap en Hashtable.

instantie van een klasse java

Java HashMap versus Hashtable

Parameters Hash kaart Hashtable

Synchronisatie

Niet-gesynchroniseerd, wat betekent dat het niet thread-safe is en niet kan worden gedeeld tussen vele threads zonder een juiste synchronisatiecode.Gesynchroniseerd en kan met veel threads worden gedeeld

Nul sleutels

Staat slechts één null-sleutel en meerdere null-waarden toeStaat geen null-sleutel of zijn waarde toe

Legacy-systeem

Dit is een onderdeel van Java CollectionsHashtable is een legacy-klasse die geen deel uitmaakte van de initiaal

Iterator

Iterator is fail-fast en het genereert een concurrentModificationException als een andere thread probeert de kaart te wijzigenDe enumerator is niet fail-fast

Klasse erven

Erft Abstracte kaart klasseErft Dictionary-klasse

Nu, wanneer kunt u Java HashMap en Hashtable gebruiken?

Wanneer gebruik je HashMap en Hashtable?

  • Synchronisatie is het belangrijkste verschil tussen Java HashMap en Hashtable. Maar als er behoefte is aan een threadveilige bewerking, kan Hashtable worden gebruikt omdat al zijn methoden zijn gesynchroniseerd. Maar dit is een legacy-klasse en ze moeten worden vermeden. Dit is niet mogelijk door HashMap.
  • Voor een omgeving met meerdere threads kunt u ConcurrentHashMap gebruiken, die bijna lijkt op Hashtable. Hier kunt u de HashMap zelfs expliciet synchroniseren
  • De gesynchroniseerde werking resulteert in een slechte prestatie, dus het moet worden vermeden totdat en tenzij het nodig is. Daarom wordt HashMap zonder enige twijfel voor de niet-threadomgeving gebruikt.

Dit brengt ons bij het einde van dit artikel waar we het hebben geleerd verschillen tussen Java HashMap en Hashtable. Ik hoop dat jullie duidelijk zijn over dit onderwerp.

Als je dit artikel over 'Java HashMap vs Hashtable' relevant vond, bekijk dan het een vertrouwd online leerbedrijf met een netwerk van meer dan 250.000 tevreden leerlingen verspreid over de hele wereld.

De cursus is bedoeld om u een voorsprong te geven en train je voor zowel kern- als geavanceerde Java-concepten, samen met verschillende zoals Hibernate & Spring.

Mocht je vragen tegenkomen, stel dan gerust al je vragen in het commentaargedeelte van 'Java HashMap vs Hashtable' en ons team zal je graag beantwoorden.