Verschil tussen HashMap en HashTable

Belangrijkste verschil: in de informatica verwijst een hash-tabel of een hash-kaart naar een gegevensstructuur die sleutels (namen) verbindt met waarden (attributen). In Java zijn er enkele belangrijke verschillen tussen de twee, zoals: HashTable is gesynchroniseerd en HashMap is niet gesynchroniseerd. Een hashtabel staat geen nul-toetsen toe. Een HashMap staat echter een enkele nul-sleutel en een willekeurig aantal null-waarden toe.

HashMap en hashTable zijn gegevensstructuren die deel uitmaken van de Java-verzameling. Ze gebruiken sleutelwaardeparen om objecten op te slaan. Beiden delen een aantal overeenkomsten, zoals zowel de interface java.util.Map implementeren en beide werken volgens het hashing-principe. Wanneer we echter naar hen verwijzen in verband met de Java-programmeertaal, zijn er tal van verschillen tussen beide.

Een hashTable wordt gebruikt om een ​​waarde op te slaan en op te halen met behulp van een sleutel. Voor dit doel moet de sleutel uniek zijn. De tabel die wordt gebruikt voor het opslaan van de sleutel- en waardeparen staat bekend als een hashtabel. Een hashtabel wordt gevormd door een algoritme te gebruiken dat de sleutels hashes. Deze hash-functie wordt gebruikt om nummers aan de invoergegevens toe te wijzen en vervolgens worden de gegevens opgeslagen als de reeksindex die overeenkomt met het berekende of geëvalueerde nummer.

Net als een hashTabel werkt een hashMap ook op dezelfde hash-principes. Het kan worden beschouwd als een op hash-tabellen gebaseerde implementatie van de kaartinterface. Het verschilt echter op enkele punten van hashTable. HashMap is niet gesynchroniseerd, terwijl hashTable is gesynchroniseerd. Synchronisatie betekent dat in een deeltijd slechts één thread de tabel kan wijzigen. Dus om een ​​updatebewerking op de hashTable uit te voeren, moet er een vergrendeling op de tafel worden verkregen. Voor die specifieke tijd moeten de andere threads wachten. Na het ontgrendelen kunnen de andere threads doorgaan en op de tafel werken. Een ander belangrijk verschil tussen beide is dat hashTable geen nul-sleutel toestaat. HashMap staat echter een enkele nul-sleutel en een willekeurig aantal null-waarden toe.

Vergelijking tussen HashMap en HashTable:

Hash kaart

HashTable

Synchronisatie

Het is niet gesynchroniseerd

Het is gesynchroniseerd (thread safe)

Null-waarden

Het staat nulwaarden toe als sleutel en waarde

Het staat geen nullen toe

Introductie in Java

Java-versie 1.2

Eerste versie van de Java-ontwikkelkit

Prestatie

Relatief beter

Relatief slecht

breidt

Het breidt de klasse AbstractMap uit

Het breidt woordenboekklasse uit die vrij oud is

Iteratie van sleutels

Iterator wordt gebruikt voor het itereren van de sleutels

De opsommingsinterface wordt gebruikt voor het itereren van sleutels

toepassingen

Beter voor toepassingen zonder schroefdraad

Over het algemeen veilig voor multithread-toepassingen

serialization

Niet geserialiseerd

serialized

Alternatief

Men kan gelijktijdige hashMap gebruiken voor multi-threads

Geen alternatief

Aanbevolen

Gerelateerde Artikelen

  • populaire vergelijkingen: Verschil tussen IFSC-code en branchecode

    Verschil tussen IFSC-code en branchecode

    Belangrijkste verschil: in de context van het Indiase bankieren verwijzen beide naar unieke codes. IFSC staat voor Indiase financiële systeemcode. IFSC-code bestaat uit elf tekens en wordt gebruikt om de bank en de bankfiliaal te identificeren. Een filiaalcode is een nummer dat dient als een identificerende code voor het bankfiliaal.
  • populaire vergelijkingen: Verschil tussen baby en kind

    Verschil tussen baby en kind

    Belangrijk verschil : het woord 'baby' betekent elk kind van de geboorte tot de leeftijd van 4, terwijl het woord 'kind' verwijst naar elk kind van drie maanden tot twaalf jaar. Een van de meest bijzondere momenten in het leven is wanneer een baby naar je kijkt, of je grote vinger stevig dichtknijpt met zijn kleintjes, of naar je glimlacht als je er grappige gezichten van maakt
  • populaire vergelijkingen: Verschil tussen Idiom en Expression

    Verschil tussen Idiom en Expression

    Belangrijk verschil : volgens definitie is een 'idioom' een uitdrukking gemaakt door een combinatie van woorden, waarvan de betekenis anders is dan de letterlijke betekenis van de afzonderlijke woorden, terwijl een 'uitdrukking' wordt gedefinieerd als een specifieke manier of manier waarop ideeën worden gebruikt worden uitgedrukt door woorden.
  • populaire vergelijkingen: Verschil tussen IMAX 3D en 3D

    Verschil tussen IMAX 3D en 3D

    Belangrijk verschil: het verschil tussen beide is de beeld- en theaterkwaliteit, waarbij IMAX 3D-theater een onovertroffen helderheid en helderheid biedt in 3D-beelden, terwijl de traditionele 3D-theaters beelden bieden die naar de kijker toe of van zich af lijken te bewegen. Tegenwoordig zijn er 2D-theaters, die de 2-dimensionale beeldresoluties bieden, en er zijn 3D-theaters waarvan bekend is dat ze de 3D-effecten en resolutie bieden aan de kijkers
  • populaire vergelijkingen: Verschil tussen Business Class en First Class Flights

    Verschil tussen Business Class en First Class Flights

    Belangrijkste verschil: Business Class biedt een hoger serviceniveau dan de economy class. Er zijn minder zitplaatsen bij elkaar, twee in plaats van drie. De stoelen zijn comfortabeler en hebben een hogere graad van hoek (ongeveer 170 graden). First Class wordt beschouwd als de meest luxueuze klasse van reizen
  • populaire vergelijkingen: Verschil tussen Swift-code en ABA-nummer

    Verschil tussen Swift-code en ABA-nummer

    Belangrijkste verschil: SWIFT staat voor Society for Worldwide Inter-bank Financial Telecommunication. SWIFT-code wordt gebruikt als een bankidentificatiecode in geval van internationale transacties. SWIFT-code is een code die is toegewezen aan een instelling die optreedt als de identiteit van de instelling op de buitenlandse markt
  • populaire vergelijkingen: Verschil tussen roeping en bezetting

    Verschil tussen roeping en bezetting

    Belangrijkste verschil: roeping en bezetting zijn synoniemen, verwijzend naar het werk op basis waarvan men zijn of haar levensonderhoud verdient. Roeping definieert specifiek de loopbaan of het beroep dat geschikt wordt geacht in overeenstemming met de kwalificaties en persoonlijke neigingen van de persoon
  • populaire vergelijkingen: Verschil tussen homoseksueel en biseksueel

    Verschil tussen homoseksueel en biseksueel

    Belangrijkste verschil: de term 'homoseksueel' werd voor het eerst gebruikt door Victoriaanse wetenschappers die aantrekkingskracht op hetzelfde geslacht en seksueel gedrag beschouwden als symptomen van psychische stoornissen of morele tekortkomingen. Biseksueel is een term die wordt gebruikt voor mensen die zich seksueel aangetrokken voelen tot zowel mannen als vrouwen
  • populaire vergelijkingen: Verschil tussen Cricket en Baseball

    Verschil tussen Cricket en Baseball

    Belangrijkste verschil: Cricket is een sport die wordt gespeeld tussen twee teams van 11 spelers, elk op een rechthoekige 22-meter lange pitch. Honkbal bestaat uit twee teams met elk negen spelers die om beurten batting / hitting en fielding / pitching spelen. Deze spellen verschillen in termen van regels, voorschriften, gameplay, vleermuis, bal, etc

Editor'S Choice

Het verschil tussen Caramel en Butterscotch

Belangrijkste verschil: Caramel is een banketbakkersproduct dat wordt gemaakt door het verwarmen van een verscheidenheid aan suikers. Butterscotch is een banketbakkersproduct dat wordt gemaakt door het verwarmen van bruine suiker en boter. Caramel en butterscotch zijn twee zoete toppings, snoepjes of suikertraktaties die populair zijn over de hele wereld