Unterschied zwischen Hashmap und Map in Java
-
Die
Map
-Schnittstelle in Java -
Die
HashMap
-Klasse in Java -
Verwenden einer
Map
-Referenz zum Halten von Objekten in Java -
Verwenden einer
Map
-Referenz zum Halten von Objekten in Java
In diesem Tutorial werden die Hauptunterschiede zwischen Map
und HashMap
in Java vorgestellt.
In Java ist Map
eine Schnittstelle zum Speichern von Daten in Schlüssel-Wert-Paaren, während HashMap
die Implementierungsklasse der Schnittstelle Map
ist. Java verfügt über mehrere Klassen (TreeHashMap
, LinkedHashMap
), die die Schnittstelle Map
implementieren, um Daten in einem Schlüssel-Wert-Paar zu speichern. Sehen wir uns einige Beispiele an.
Die Map
-Schnittstelle in Java
Die Schnittstelle Map
allein kann nicht zum Speichern von Daten verwendet werden. Wir können jedoch ein Objekt seiner Implementierungsklassen erstellen und dann die Referenz Map
verwenden, um das Objekt zu speichern. Hier verwenden wir die Klasse HashMap
zum Speichern von Daten und die Schnittstelle Map
zum Speichern der Referenz dieser Klasse. Siehe das folgende Beispiel.
import java.util.HashMap;
import java.util.Map;
public class SimpleTesting {
public static void main(String[] args) {
Map<String, Integer> map = new HashMap<>();
map.put("One", 1);
map.put("Two", 2);
map.put("Three", 3);
System.out.println(map);
}
}
Ausgabe:
{One=1, Two=2, Three=3}
Die HashMap
-Klasse in Java
HashMap
ist eine Implementierungsklasse der Map
-Schnittstelle. Wir können es also verwenden, um eine Sammlung von Schlüssel-Wert-Paaren zu erstellen. Siehe das folgende Beispiel.
import java.util.HashMap;
public class SimpleTesting {
public static void main(String[] args) {
HashMap<String, Integer> map = new HashMap<>();
map.put("One", 1);
map.put("Two", 2);
map.put("Three", 3);
System.out.println(map);
}
}
Ausgabe:
{One=1, Two=2, Three=3}
Verwenden einer Map
-Referenz zum Halten von Objekten in Java
Da Map
eine Schnittstelle ist, können wir damit die Referenz ihrer Implementierungsklassen wie HashMap
, TreeMap
usw. speichern. Wir können ein TreeMap
- oder HashMap
-Objekt in die Map
-Schnittstelle einfügen. Siehe das folgende Beispiel.
import java.util.HashMap;
import java.util.Map;
import java.util.TreeMap;
public class SimpleTesting {
public static void main(String[] args) {
Map<String, Integer> map = new HashMap<>();
map.put("One", 1);
map.put("Two", 2);
map.put("Three", 3);
System.out.println(map);
Map<String, Integer> tmap = new TreeMap<>(map);
System.out.println(tmap);
}
}
Ausgabe:
{One=1, Two=2, Three=3}
{One=1, Three=3, Two=2}
Verwenden einer Map
-Referenz zum Halten von Objekten in Java
Dies ist ein wichtiges Beispiel für die Verwendung der Referenz Map
bei der Arbeit mit den Implementierungsklassen. Wir haben eine Methode, die ein Map
-Objekt als Argument verwendet. Zum Zeitpunkt des Aufrufs können wir also das Objekt beliebiger Klassen wie HashMap
oder HashTable
übergeben. Siehe das folgende Beispiel.
import java.util.HashMap;
import java.util.LinkedHashMap;
import java.util.Map;
import java.util.TreeMap;
public class SimpleTesting {
static void printMap(Map<String, Integer> map) {
for (String key : map.keySet()) {
System.out.println(key + ":" + map.get(key));
}
}
public static void main(String[] args) {
HashMap<String, Integer> hashmap = new HashMap<>();
hashmap.put("One", 1);
hashmap.put("Two", 2);
hashmap.put("Three", 3);
printMap(hashmap);
TreeMap<String, Integer> tmap = new TreeMap<>(hashmap);
printMap(tmap);
LinkedHashMap<String, Integer> lmap = new LinkedHashMap<>(hashmap);
printMap(lmap);
}
}
Führen Sie den Code wie folgt aus.
Java SimpleTesting 10 20
Ausgabe:
10
20
Verwandter Artikel - Java Map
- Karte inkrementieren in Java
- Konvertieren Map-werte in eine Liste in Java
- Map-Filterung in Java
- Konvertieren eine Liste in eine Map in Java
- Erstellen einer geordneten Map in Java
- Map in Java erstellen