Unterschied zwischen HashMap und HashTable

Schlüsseldifferenz: In der Informatik bezieht sich eine hashTable oder eine hashMap auf eine Datenstruktur, die Schlüssel (Namen) mit Werten (Attributen) verknüpft. In Java gibt es einige wichtige Unterschiede zwischen den beiden: HashTable wird synchronisiert und HashMap ist nicht synchronisiert. Eine HashTable erlaubt keine NULL-Schlüssel. Eine HashMap erlaubt jedoch einen einzelnen Nullschlüssel und eine beliebige Anzahl von Nullwerten.

HashMap und hashTable sind Datenstrukturen, die Teil der Java-Sammlung sind. Sie verwenden Schlüssel-Wert-Paare, um Objekte zu speichern. Beide haben einige Gemeinsamkeiten, z. B. implementieren die Schnittstelle java.util.Map, und beide arbeiten nach dem Hashing-Prinzip. Wenn wir uns jedoch auf die Java-Programmiersprache beziehen, gibt es zahlreiche Unterschiede zwischen den beiden.

Eine hashTable wird verwendet, um einen Wert mithilfe eines Schlüssels zu speichern und abzurufen. Zu diesem Zweck muss der Schlüssel eindeutig sein. Die Tabelle, in der die Schlüssel- und Wertpaare gespeichert werden, wird als Hashtabelle bezeichnet. Eine Hash-Tabelle wird gebildet, indem ein Algorithmus verwendet wird, der die Schlüssel hasht. Diese Hash-Funktion wird verwendet, um den Eingabedaten Zahlen zuzuweisen. Anschließend werden die Daten als Array-Index gespeichert, der der berechneten oder ausgewerteten Zahl entspricht.

Wie eine hashTable arbeitet auch eine hashMap nach den gleichen Prinzipien des Hashing. Es kann als eine auf Hashtabellen basierende Implementierung der Map-Schnittstelle betrachtet werden. Es unterscheidet sich jedoch in einigen Punkten von der Hash-Tabelle. HashMap ist nicht synchronisiert, während HashTable synchronisiert ist. Synchronisierung bedeutet, dass zu einem Zeitpunkt nur ein Thread die Tabelle ändern kann. Um eine Aktualisierungsoperation für die hashTable durchzuführen, muss daher eine Sperre für die Tabelle erhalten werden. Für diese bestimmte Zeit müssen die anderen Threads warten. Nach dem Entsperren können die anderen Threads an der Tabelle arbeiten. Ein weiterer Hauptunterschied zwischen den beiden ist, dass hashTable keinen Nullschlüssel zulässt. HashMap erlaubt jedoch einen einzelnen Nullschlüssel und eine beliebige Anzahl von Nullwerten.

Vergleich zwischen HashMap und HashTable:

HashMap

Hash-tabelle

Synchronisation

Es ist nicht synchronisiert

Es ist synchronisiert (threadsicher)

Nullwerte

Es erlaubt Nullwerte als Schlüssel und Wert

Es erlaubt keine Nullen

Einführung in Java

Java Version 1.2

Erste Version des Java Development Kits

Performance

Vergleichsweise besser

Vergleichsweise schlecht

Erweitert

Es erweitert die Klasse AbstractMap

Es erweitert die Wörterbuchklasse, die ziemlich alt ist

Schlüsselwiederholung

Iterator wird zum Durchlaufen der Tasten verwendet

Die Aufzählungsschnittstelle wird zum Durchlaufen von Schlüsseln verwendet

Anwendungen

Besser für Anwendungen ohne Threading

Im Allgemeinen sicher für Multithread-Anwendungen

Serialisierung

Nicht serialisiert

Serialisiert

Alternative

Man kann concurrent hashMap für eine Umgebung mit mehreren Threads verwenden

Keine solche Alternative

Empfohlen

In Verbindung Stehende Artikel

  • beliebte Vergleiche: Unterschied zwischen süß und hübsch

    Unterschied zwischen süß und hübsch

    Hauptunterschied: Das Wort süß bezieht sich auf echten Charme und Attraktivität, während hübsch auf echte Schönheit verweist. Laut Macmillan Dictionary bedeutet das Wort "süß": "attraktiv, normalerweise klein und leicht zu mögen". Süß spiegelt den Charme und die Unschuld eines Wesens wider. Es wird v
  • beliebte Vergleiche: Unterschied zwischen Nintendo Wii und Wii Mini

    Unterschied zwischen Nintendo Wii und Wii Mini

    Hauptunterschied: Nintendo Wii und Wii Mini sind neuere Versionen von Nintendo. Wii Mini ist die jüngste Neugestaltung der Wii-Konsole von Nintendo. Nintendo Wii ist die Spielekonsole der siebten Generation, die am 19. November 2006 veröffentlicht wurde. Wii ist ein fortschrittliches integriertes Spielesystem mit externen Hardware-Entwicklungsanschlüssen. D
  • beliebte Vergleiche: Unterschied zwischen Gebläse und Heizung

    Unterschied zwischen Gebläse und Heizung

    Hauptunterschied : Gebläse und Heizung sind zwei verschiedene Arten von elektrischen Geräten. Ein Gebläse bezieht sich auf jedes Gerät, das Luft durchbläst, während sich ein Heizgerät auf jedes Gerät bezieht, das Wärme erzeugt, als Hauptfunktion. Auf der anderen Seite bläst ein Heizgebläse effektiv heiße Luft; Daher lenkt der Gebläseteil die erwärmte Luft vom Heizteil in eine bestimmte Richtung. Gebläse und
  • beliebte Vergleiche: Unterschied zwischen oben und oben

    Unterschied zwischen oben und oben

    Hauptunterschied : Sowohl über als auch über sind Präpositionen im Zusammenhang mit etwas höher zu positionierenden Positionen als etwas anderes zu verstehen. Der Hauptunterschied besteht darin zu wissen, wann und wie sie verwendet werden sollten. Oberhalb und Über sind zwei Wörter, die in der englischen Sprache verwendet werden, und sie sind oft in Bezug auf ihre Verwendung verwirrt. Beid
  • beliebte Vergleiche: Unterschied zwischen Tylenol und Advil

    Unterschied zwischen Tylenol und Advil

    Hauptunterschied: Der Wirkstoff von Tylenol ist Acetaminophen, auch bekannt als Paracetamol. Advils Wirkstoff ist Ibuprofen. Tylenol und Advil sind Medikamente, die am häufigsten zur Schmerz- und Fieberlinderung eingesetzt werden. Sie sind beide über den Ladentisch erhältlich. Es gibt jedoch unterschiedliche chemische Strukturen und unterschiedliche Nebenwirkungen. T
  • beliebte Vergleiche: Unterschied zwischen der Republik und der Monarchie

    Unterschied zwischen der Republik und der Monarchie

    Hauptunterschied : Die Monarchie ist eine Regierungsform, die von einem König, einer Königin oder einem Kaiser regiert wird. Republik ist eine Regierungsform, in der das Volk oder seine gewählten Vertreter die höchste Macht besitzen. Eine Republik und eine Monarchie sind zwei verschiedene Regierungsformen. Wä
  • beliebte Vergleiche: Unterschied zwischen Samsung Galaxy S4 Active und HTC One

    Unterschied zwischen Samsung Galaxy S4 Active und HTC One

    Hauptunterschied: Samsung hat angekündigt, dass es ein neues Handy zu seiner Produktpalette hinzugefügt hat, das die Robustheit des älteren Samsung Xcover mit den Funktionen und dem Funktionsumfang des neuen Galaxy S4 kombiniert. S4 Active ist staub- und wasserdicht. Das Telefon ist mit einem 5-Zoll-Full-HD-TFT-Touchscreen ausgestattet, der sich von der AMOLED des S4 unterscheidet. H
  • beliebte Vergleiche: Unterschied zwischen Mercedes A-Klasse und B-Klasse

    Unterschied zwischen Mercedes A-Klasse und B-Klasse

    Hauptunterschied: Mercedes-Benz ist vor allem für seine Luxusfahrzeuge bekannt. Die A-Klasse und die B-Klasse sind einige der beliebtesten Klassen. Der Hauptunterschied zwischen der A-Klasse und der B-Klasse ist die Tatsache, dass es sich bei den unter der A-Klasse hergestellten Fahrzeugen um Fließheck-Fahrzeuge handelt, während die unter der B-Klasse hergestellten Fahrzeuge Mehrzweckfahrzeuge sind. M
  • beliebte Vergleiche: Unterschied zwischen Linienspektrum und Bandspektrum

    Unterschied zwischen Linienspektrum und Bandspektrum

    Hauptunterschied: In der Physik ist ein "Linienspektrum" ein Satz diskreter Wellenlängen von gasförmigen Atomen, während ein "Bandenspektrum" von Molekülen erzeugt wird, die aus einer Reihe eng beabstandeter Linien bestehen, die durch dunkle Räume, sogenannte Banden, getrennt sind. Das

Tipp Der Redaktion

Unterschied zwischen Sepsis und Infektion

Hauptunterschied: Eine Infektion ist ein Phänomen oder ein Zustand, der durch das Eindringen von Mikroorganismen oder Keimen in den Körper verursacht wird. Sie kann auf eine Körperregion beschränkt sein oder weit verbreitet sein. Sepsis ist die Reaktion des Körpers auf eine Infektion. Sie ist im Allgemeinen mit einer Entzündungsreaktion und schließlich einer Organstörung und / oder einem Versagen verbunden. Wenn a