Skillnaden mellan HashMap och HashTable

Författare: Monica Porter
Skapelsedatum: 17 Mars 2021
Uppdatera Datum: 10 Maj 2024
Anonim
Рефакторинг: switch vs if-else vs enum vs HashMap [Шаблон "Команда"]
Video: Рефакторинг: switch vs if-else vs enum vs HashMap [Шаблон "Команда"]

Innehåll

Primär skillnad

HashMap och HashTableare de två kritiska datastrukturerna i Java. De finns i samlingsramen och har få saker gemensamma mellan de två. Även om de har dessa likheter finns det vissa skillnader mellan dem. Både HashMap och HashTablestore data i form av nyckelvärdespar och slao båda implementerar kartgränssnittet. För att lagra elementen används Hashing-tekniken av både HashMap och HashTable. Eftersom vi måste ta itu med skillnaderna mellan de två, så är den viktigaste skillnaden baserad på gängsäkerheten. Huvudskillnaderna för skillnad mellan HashMap och HashTable inkluderar Nullknappar, Iterating-värden, Synkronisering. Prestanda och klass. HashTable är trådsäker medan HashMap å andra sidan inte är trådsäker. HashTable synkroniseras internt medan HashMap inte är synkroniserat internt, så HashMap är inte säkert att använda i multigängade applikationer. Prestanda för HashMap är bra jämfört med HashTable eftersom HashTable är synkroniserat internt. HashMap föredras framför HashTable eftersom HashTable är en arvsklass och betraktas som på grund avskrivningar. HashMap är snabb jämfört med HashTable. Från början av HashMap-introduktionen i JDK 1.2 är den medlem i Java Collection Framework, men innan JDK 1.2 HashTable redan är där och av JDK 1.2 har det gjorts att implementera Map-gränssnittet och bli medlem i Collection Framework.


Jämförelsediagram

HashMapHashtable
DefinitionMaximalt en nollnyckel tillåts av HashMap och valfritt antal nullvärden tillåts också.Varken tillåter en enda nollnyckel eller nollvärdet.
Lämna tillbakaFör att köra över elementen returnerar HashMap endast IteratorerReturer är inte bara Iteratorerna utan också uppräkningen.
Genomförandeimplementerar kartgränssnittet genom att utöka klassen AbstractMapImplementerar kartgränssnittet genom att utöka ordlistoklassen.
SynkroniseraDet synkroniseras inte interntDen synkroniseras internt

Definition av HashMap

HashMap är den viktiga datastrukturen i Collection Framework i Java. HashMap är inte trådsäkert är inte synkroniserat internt så HashMap är inte säkert att använda i flertrådiga applikationer. Men det kan vara säkert för multigängade applikationer genom att synkronisera det externt med metoderna Collection.synchronized (). Det implementerar kartgränssnittet genom att utöka klassen AbstractMap. Maximalt en nollnyckel tillåts av HashMap och valfritt antal nullvärden tillåts också. Iterator som returneras av HasMap är inte snabbt. Prestanda för HashMap är bra och är därför snabbt jämför med HashTable.


Definition av HashTable

HashTable är den viktiga datastrukturen i Collection Framework i Java. HashTable är trådsäker och synkroniseras internt. Därför är det säkert att användas för flertrådiga applikationer. Det implementerar kartgränssnittet genom att utöka ordlistan. Den tillåter varken en enda nollnyckel eller nollvärdet. HashTable är en arvsklass och anses bero på avskrivningar. Uppräkning som returneras av HashTable är felsäker.

Skillnader i ett nötskal

  1. HashTable är trådsäker medan HashMap å andra sidan inte är trådsäker.
  2. HashTable synkroniseras internt medan HashMap inte är synkroniserat internt.
  3. Både HashMap och HashTable implementerar kartgränssnittet men båda utökar olika klasser. HashMap implementerar Map-gränssnittet genom att utöka AbstractMap-klassen medan å andra sidan implementerar HashTable Map-gränssnittet genom att utöka Dictionary-klassen.
  4. Maximalt en nollnyckel tillåts av HashMap och valfritt antal nullvärden tillåts också medan HashTable varken tillåter en enda nollnyckel eller nollvärdet.
  5. För att köra över elementen returnerar HashMap endast Iterators medan å andra sidan HashTable-returer inte bara är Iteratorerna utan också uppräkningen.
  6. Iterator som returneras av HasMap är felsnabba av naturen medan uppräkning som returneras av HashTable är felsäker.
  7. HashMap är snabbt jämför med HashTable.
  8. HashTable är långsam jämfört med HashMap.
  9. Prestanda för HashMap är bra jämfört med HashTable eftersom HashTable är synkroniserat internt.
  10. HashMap föredras framför HashTable eftersom HashTable är en arvsklass och anses bero på avskrivningar.
  11. Från början av HashMap-introduktionen i JDK 1.2 är den medlem i Java Collection Framework men innan JDK 1.2 HashTable redan är där och av JDK 1.2 har det gjorts att implementera Map-gränssnittet och bli medlem i Collection Framework.

Slutsats

Datorarkitektur är något som är ett mysterium för människor som är generella användare och inte har en detaljerad kunskap om det. De två termerna HashMap och HashTable är liknande som betraktas som samma men skiljer sig åt i funktionssätt och funktioner. Den här artikeln ger därför en korrekt förståelse för de två typerna för människor att få en tydligare idé.


Ordflöde Verboitet eller ömhet är tal eller krift om använder fler ord än nödvändigt (till exempel att använda "Trot att" itället för &quo...

Den törta killnaden mellan weet and weat är att öt är en grundläggande mak och ämne utöndra av vettkörtlar. Ljuv ötma är en grundläggande mak o...

Fler Detaljer