Unterschied zwischen Hashmap und Map in Java

Mohammad Irfan 12 Oktober 2023
  1. Die Map-Schnittstelle in Java
  2. Die HashMap-Klasse in Java
  3. Verwenden einer Map-Referenz zum Halten von Objekten in Java
  4. Verwenden einer Map-Referenz zum Halten von Objekten in Java
Unterschied zwischen Hashmap und Map 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

Verwandter Artikel - Java HashMap