In diesem Tutorial lernen wir die Java Map-Oberfläche und ihre Methoden kennen.
Die Map
Schnittstelle des Java-Sammlungsframeworks bietet die Funktionalität der Kartendatenstruktur.
Arbeiten der Karte
In Java werden Elemente von Map
in Schlüssel / Wert- Paaren gespeichert . Schlüssel sind eindeutige Werte, die einzelnen Werten zugeordnet sind .
Eine Karte darf keine doppelten Schlüssel enthalten. Und jeder Schlüssel ist einem einzelnen Wert zugeordnet.
Wir können mit den ihnen zugeordneten Schlüsseln auf Werte zugreifen und diese ändern.
Im obigen Diagramm haben wir Werte: USA, Brasilien und Spanien. Und wir haben entsprechende Schlüssel: uns, br und es.
Jetzt können wir mit den entsprechenden Schlüsseln auf diese Werte zugreifen.
Hinweis: Die Map
Schnittstelle verwaltet 3 verschiedene Sätze:
- der Satz von Schlüsseln
- die Menge der Werte
- die Menge der Schlüssel / Wert-Zuordnungen (Zuordnung).
Daher können wir individuell auf Schlüssel, Werte und Assoziationen zugreifen.
Klassen, die Map implementieren
Da Map
es sich um eine Schnittstelle handelt, können wir daraus keine Objekte erstellen.
Um die Funktionen der Map
Schnittstelle zu nutzen, können wir folgende Klassen verwenden:
- HashMap
- EnumMap
- LinkedHashMap
- WeakHashMap
- Baumkarte
Diese Klassen werden im Sammlungsframework definiert und implementieren die Map
Schnittstelle.

Schnittstellen, die Map erweitern
Die Map
Schnittstelle wird auch um folgende Subschnittstellen erweitert:
- SortedMap
- NavigableMap
- ConcurrentMap

Wie benutzt man Map?
In Java müssen wir das java.util.Map
Paket importieren , um es verwenden zu können Map
. Sobald wir das Paket importiert haben, können wir wie folgt eine Karte erstellen.
// Map implementation using HashMap Map numbers = new HashMap();
Im obigen Code haben wir Map
benannte Zahlen erstellt. Wir haben die HashMap
Klasse verwendet, um die Map
Schnittstelle zu implementieren .
Hier,
- Schlüssel - eine eindeutige Kennung, mit der jedes Element (Wert) in einer Karte zugeordnet wird
- Wert - Elemente, die durch Schlüssel in einer Karte verknüpft sind
Methoden der Karte
Die Map
Schnittstelle enthält alle Methoden der Collection
Schnittstelle. Es liegt daran, dass Collection
es eine super Schnittstelle von ist Map
.
Neben den in der Collection
Schnittstelle verfügbaren Methoden Map
enthält die Schnittstelle auch die folgenden Methoden:
- put (K, V) - Fügt die Zuordnung eines Schlüssels K und eines Werts V in die Karte ein. Wenn der Schlüssel bereits vorhanden ist, ersetzt der neue Wert den alten Wert.
- putAll () - Fügt alle Einträge aus der angegebenen Karte in diese Karte ein.
- putIfAbsent (K, V) - Fügt die Zuordnung ein, wenn der Schlüssel K noch nicht mit dem Wert V verknüpft ist.
- get (K) - Gibt den Wert zurück, der dem angegebenen Schlüssel K zugeordnet ist. Wenn der Schlüssel nicht gefunden wird, wird er zurückgegeben
null
. - getOrDefault (K, defaultValue) - Gibt den Wert zurück, der dem angegebenen Schlüssel K zugeordnet ist. Wenn der Schlüssel nicht gefunden wird, wird der defaultValue zurückgegeben.
- enthält Schlüssel (K) - Überprüft, ob der angegebene Schlüssel K in der Karte vorhanden ist oder nicht.
- enthältWert (V) - Überprüft, ob der angegebene Wert V in der Karte vorhanden ist oder nicht.
- Ersetzen (K, V) - Ersetzen Sie den Wert des Schlüssels K durch den neu angegebenen Wert V.
- replace (K, oldValue, newValue) - Ersetzt den Wert des Schlüssels K nur dann durch den neuen Wert newValue, wenn der Schlüssel K dem Wert oldValue zugeordnet ist.
- remove (K) - Entfernt den Eintrag von der Karte, die durch die Taste K dargestellt wird.
- remove (K, V) - Entfernt den Eintrag aus der Karte, dem der Wert V der Schlüssel K zugeordnet ist.
- keySet () - Gibt einen Satz aller in einer Karte vorhandenen Schlüssel zurück.
- values () - Gibt eine Menge aller in einer Karte vorhandenen Werte zurück.
- entrySet () - Gibt eine Menge aller in einer Map vorhandenen Schlüssel- / Wertzuordnungen zurück.
Implementierung der Kartenschnittstelle
1. Implementieren der HashMap-Klasse
import java.util.Map; import java.util.HashMap; class Main ( public static void main(String() args) ( // Creating a map using the HashMap Map numbers = new HashMap(); // Insert elements to the map numbers.put("One", 1); numbers.put("Two", 2); System.out.println("Map: " + numbers); // Access keys of the map System.out.println("Keys: " + numbers.keySet()); // Access values of the map System.out.println("Values: " + numbers.values()); // Access entries of the map System.out.println("Entries: " + numbers.entrySet()); // Remove Elements from the map int value = numbers.remove("Two"); System.out.println("Removed Value: " + value); ) )
Ausgabe
Karte: (Eins = 1, Zwei = 2) Schlüssel: (Eins, Zwei) Werte: (1, 2) Einträge: (Eins = 1, Zwei = 2) Entfernter Wert: 2
Weitere HashMap
Informationen finden Sie unter Java HashMap.
2. Implementieren der TreeMap-Klasse
import java.util.Map; import java.util.TreeMap; class Main ( public static void main(String() args) ( // Creating Map using TreeMap Map values = new TreeMap(); // Insert elements to map values.put("Second", 2); values.put("First", 1); System.out.println("Map using TreeMap: " + values); // Replacing the values values.replace("First", 11); values.replace("Second", 22); System.out.println("New Map: " + values); // Remove elements from the map int removedValue = values.remove("First"); System.out.println("Removed Value: " + removedValue); ) )
Ausgabe
Karte mit TreeMap: (Erste = 1, Zweite = 2) Neue Karte: (Erste = 11, Zweite = 22) Entfernter Wert: 11
Weitere TreeMap
Informationen finden Sie unter Java TreeMap.