Unterschied zwischen Hashtable und Hashmap in Java
-
HashtablevsHashMap -
Erstellen von
Hashtablein Java -
HashMapin Java erstellen -
Null in
HashMapin Java speichern -
Null in
Hashtablein Java speichern
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