Unterschied zwischen Hashtable und Hashmap in Java

Mohammad Irfan 12 Oktober 2023
  1. Hashtable vs HashMap
  2. Erstellen von Hashtable in Java
  3. HashMap in Java erstellen
  4. Null in HashMap in Java speichern
  5. Null in Hashtable in Java speichern
Unterschied zwischen Hashtable und Hashmap in Java

In diesem Tutorial werden die Unterschiede zwischen Hashtable und HashMap in Java vorgestellt. Außerdem werden einige Beispielcodes aufgeführt, um das Thema zu verstehen.

Hashtable ist eine Klasse im Java-Sammlungsframework, mit der Daten in Schlüssel-Wert-Paaren gespeichert werden. Es ist eine Legacy-Klasse in Java und arbeitet mit dem Hash-Konzept zum Speichern von Elementen. In den neuesten Java-Versionen wird Hashtable nicht empfohlen. Wir sollten lieber HashMap verwenden, das weiter fortgeschritten ist als Hashtable. In der folgenden Tabelle sind die wichtigsten Unterschiede zwischen Hashtable und HashMap in Java zusammengefasst.

Hashtable vs HashMap

Hashtable HashMap
Synchronisiert Nicht synchronisiert
Null nicht erlaubt Erlaube null
Legacy-Klasse Kein Vermächtnis
Es ist langsam Es ist schnell

In der obigen Vergleichstabelle können wir die Hauptunterschiede zwischen Hashtable und HashMap deutlich erkennen. Lassen Sie uns nun einige Beispiele sehen.

Da Hashtable intern synchronisiert ist, ist Hashtable etwas langsamer als die HashMap.

Erstellen von Hashtable in Java

In diesem Beispiel erstellen wir eine Hashtabelle. Es ist der einfachste Weg, Hashtable zu erstellen, und wir müssen nur Hashtable in unseren Code importieren. Diese Klasse befindet sich im Paket java.util. Siehe das folgende Beispiel.

import java.util.Hashtable;

public class SimpleTesting {
  public static void main(String[] args) {
    Hashtable<Integer, String> hashTable = new Hashtable<>();
    hashTable.put(1, "One");
    hashTable.put(2, "Two");
    hashTable.put(3, "Three");
    System.out.println(hashTable);
  }
}

Ausgabe:

{3=Three, 2=Two, 1=One}

HashMap in Java erstellen

In diesem Beispiel erstellen wir HashMap in Java. Es ist der einfachste Weg, HashMap zu erstellen, und wir müssen nur HashMap in unseren Code importieren. Diese Klasse befindet sich im Paket java.util. Siehe das folgende Beispiel.

import java.util.HashMap;

public class SimpleTesting {
  public static void main(String[] args) {
    HashMap<Integer, String> hashTable = new HashMap<>();
    hashTable.put(1, "One");
    hashTable.put(2, "Two");
    hashTable.put(3, "Three");
    System.out.println(hashTable);
  }
}

Ausgabe:

{3=Three, 2=Two, 1=One}

Null in HashMap in Java speichern

Mit der HashMap kann Null gespeichert werden, dh wir können einen Nullschlüssel und mehrere Nullwerte in der HashMap speichern. Diese Klasse ist nützlich, wenn Ihre Sammlungen null enthalten. Siehe das folgende Beispiel.

import java.util.HashMap;

public class SimpleTesting {
  public static void main(String[] args) {
    HashMap<Integer, String> hashTable = new HashMap<>();
    hashTable.put(1, "One");
    hashTable.put(2, "Two");
    hashTable.put(3, "Three");
    hashTable.put(null, "Four");
    hashTable.put(null, null);
    System.out.println(hashTable);
  }
}

Ausgabe:

{null=null, 1=One, 2=Two, 3=Three}

Null in Hashtable in Java speichern

Die Hashtable erlaubt nicht das Speichern von Null, was bedeutet, dass wir keine Null in der Hashtable speichern können. Diese Klasse ist nicht nützlich, wenn Ihre Sammlungen null enthalten. Siehe das folgende Beispiel.

Es wird eine Ausnahme NullPointerException ausgelöst, wenn ein Nullwert gespeichert wird.

import java.util.Hashtable;

public class SimpleTesting {
  public static void main(String[] args) {
    Hashtable<Integer, String> hashTable = new Hashtable<>();
    hashTable.put(1, "One");
    hashTable.put(2, "Two");
    hashTable.put(3, "Three");
    hashTable.put(null, "Four");
    hashTable.put(null, null);
    System.out.println(hashTable);
  }
}

Ausgabe:

Exception in thread "main" java.lang.NullPointerException

Verwandter Artikel - Java Hashtable

Verwandter Artikel - Java HashMap