


Detaillierte Erläuterung des Unterschieds zwischen Java HashMap und HashTable
Der Unterschied zwischen HashMap und HashTable wird oft von anderen gefragt. Ich werde ihn heute hier zusammenfassen.
(1) Die Vererbungsgeschichte ist unterschiedlich
public class Hashtable extends Dictionary implements Map public class HashMap extends AbstractMap implements Map
Hashtable wird von der Dictionary-Klasse geerbt, HashMap dagegen Java Eine Implementierung der in 1.2 eingeführten Map-Schnittstelle.
(2) Unterschiedliche Sicherheit
HashMap ist nicht synchronisiert, während HashTable standardmäßig synchronisiert ist, was bedeutet, dass HashTable threadsicher ist und mehrere Threads eine HashTable ohne ordnungsgemäße Synchronisierung teilen können. Mehrere Threads können eine HashMap nicht gemeinsam nutzen. Java 5 und höher bietet ConcurrentHashMap, einen Ersatz für HashTable und eine bessere Skalierbarkeit als HashTable. Natürlich können wir HashMap mit den folgenden Methoden synchronisieren:
Map m = Collections.synchronizeMap(hashMap);
(3) Ähnlichkeiten und Unterschiede, ob Nullwerte verwendet werden können
HashMap ermöglicht es Ihnen um Nullwerte als Schlüssel oder Wert eines Tabelleneintrags zu verwenden. Nur ein Datensatz in einer HashMap kann ein leerer Schlüssel sein, aber eine beliebige Anzahl von Einträgen kann ein leerer Wert sein. Das heißt, wenn der Suchschlüssel nicht in der Tabelle gefunden wird oder wenn der Suchschlüssel gefunden wird, es sich aber um einen leeren Wert handelt, gibt get() null zurück, aber in HashTable sind keine Nullwerte zulässig Schlüssel und Wert.
(4) Die interne Implementierung der Traversalmethoden zwischen den beiden ist unterschiedlich
Sowohl Hashtable als auch HashMap verwenden den Iterator-Iterator und den Enumerator von HashTable Iterator ist nicht ausfallsicher. Aus historischen Gründen verwendet Hashtable auch Enumeration.
(5) Die Verwendung von Hash-Werten ist unterschiedlich
HashTable verwendet direkt den HashCode des Objekts, während HashMap den Hash-Wert neu berechnen muss.
(6) Die anfängliche Größe des Arrays und die Erweiterungsmethode der internen Implementierung der beiden sind unterschiedlich.
Die Standardgröße des Hash-Arrays in HashTable beträgt 11 und die zunehmende Methode is old*2+1; HashMap Die Standardgröße des Hash-Arrays beträgt 16 und muss ein Exponent von 2 sein.
Vielen Dank fürs Lesen, ich hoffe, es kann Ihnen helfen, vielen Dank für Ihre Unterstützung dieser Website!
Ausführlichere Erläuterungen zu den Unterschieden zwischen Java HashMap und HashTable finden Sie auf der chinesischen PHP-Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



Mit der Klassenbelastung von Java wird das Laden, Verknüpfen und Initialisieren von Klassen mithilfe eines hierarchischen Systems mit Bootstrap-, Erweiterungs- und Anwendungsklassenloadern umfasst. Das übergeordnete Delegationsmodell stellt sicher

In dem Artikel wird in der Implementierung von mehrstufigem Caching in Java mithilfe von Koffein- und Guava-Cache zur Verbesserung der Anwendungsleistung erläutert. Es deckt die Einrichtungs-, Integrations- und Leistungsvorteile sowie die Bestrafung des Konfigurations- und Räumungsrichtlinienmanagements ab

In dem Artikel werden mit JPA für Objektrelationszuordnungen mit erweiterten Funktionen wie Caching und faulen Laden erläutert. Es deckt Setup, Entity -Mapping und Best Practices zur Optimierung der Leistung ab und hebt potenzielle Fallstricke hervor. [159 Charaktere]

In dem Artikel werden Maven und Gradle für Java -Projektmanagement, Aufbau von Automatisierung und Abhängigkeitslösung erörtert, die ihre Ansätze und Optimierungsstrategien vergleichen.

In dem Artikel werden benutzerdefinierte Java -Bibliotheken (JAR -Dateien) mit ordnungsgemäßem Versioning- und Abhängigkeitsmanagement erstellt und verwendet, wobei Tools wie Maven und Gradle verwendet werden.
