Java-Map-Schnittstelle
Java-Kartenschnittstelle
In diesem Tutorial lernen wir die Java Map-Schnittstelle und ihre Methoden kennen.
Der Map
Schnittstelle des Java Collections Framework stellt die Funktionalität der Kartendatenstruktur bereit.
Funktion der Karte
In Java Elemente von Map
werden in Schlüssel/Wert gespeichert Paare. Schlüssel sind eindeutige Werte, die einzelnen Werten zugeordnet sind .
Eine Map darf keine doppelten Schlüssel enthalten. Und jeder Schlüssel ist einem einzelnen Wert zugeordnet.
Wir können auf Werte zugreifen und sie ändern, indem wir die ihnen zugeordneten Schlüssel verwenden.
Im obigen Diagramm haben wir Werte:United States , 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 Sets:
- der Schlüsselsatz
- die Wertemenge
- der Satz von Schlüssel/Wert-Zuordnungen (Mapping).
Daher können wir individuell auf Schlüssel, Werte und Assoziationen zugreifen.
Klassen, die Map implementieren
Seit Map
eine Schnittstelle ist, können wir daraus keine Objekte erstellen.
Um Funktionalitäten der Map
zu nutzen Schnittstelle können wir diese Klassen verwenden:
- HashMap
- EnumMap
- LinkedHashMap
- WeakHashMap
- Baumkarte
Diese Klassen sind im Collections-Framework definiert und implementieren den Map
Schnittstelle.
Schnittstellen, die Map erweitern
Die Map
Interface wird auch um diese Subinterfaces erweitert:
- Sortierte Karte
- NavigierbareKarte
- ConcurrentMap
Wie verwende ich die Karte?
In Java müssen wir den java.util.Map
importieren Paket, um Map
zu verwenden . Sobald wir das Paket importiert haben, können wir wie folgt eine Karte erstellen.
// Map implementation using HashMap
Map<Key, Value> numbers = new HashMap<>();
Im obigen Code haben wir einen Map
erstellt benannte Zahlen . Wir haben den HashMap
verwendet Klasse zum Implementieren des Map
Schnittstelle.
Hier,
- Schlüssel - eine eindeutige Kennung, die verwendet wird, um jedes Element (Wert) in einer Zuordnung zuzuordnen
- Wert - Elemente, die durch Schlüssel in einer Karte verknüpft sind
Kartenmethoden
Die Map
Schnittstelle enthält alle Methoden des Collection
Schnittstelle. Das liegt daran, dass Collection
ist eine super Schnittstelle von Map
.
Neben Methoden, die in Collection
verfügbar sind Schnittstelle, die Map
Die Schnittstelle enthält auch die folgenden Methoden:
- put(K, V) - Fügt die Assoziation eines Schlüssels K ein und einen Wert V in die Karte. Wenn der Schlüssel bereits vorhanden ist, ersetzt der neue Wert den alten Wert.
- putAll() - Fügt alle Einträge aus der angegebenen Map in diese Map ein.
- putIfAbsent(K, V) - Fügt die Assoziation ein, wenn der Schlüssel K nicht bereits mit dem Wert V verknüpft ist .
- erhalte (K) - Gibt den Wert zurück, der dem angegebenen Schlüssel K zugeordnet ist . Wenn der Schlüssel nicht gefunden wird, wird
null
zurückgegeben . - 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ältSchlü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.
- Ersetze (K, V) - Ersetzen Sie den Wert des Schlüssels K mit dem neu angegebenen Wert V .
- replace(K, alterWert, neuerWert) - Ersetzt den Wert des Schlüssels K mit dem neuen Wert newValue nur wenn der Schlüssel K ist dem Wert oldValue zugeordnet .
- Entfernen (K) - Entfernt den durch den Schlüssel K repräsentierten Eintrag aus der Karte .
- Entfernen (K, V) - Entfernt den Eintrag aus der Map, der den Schlüssel K hat dem Wert V zugeordnet .
- keySet() - Gibt einen Satz aller Schlüssel zurück, die in einer Karte vorhanden sind.
- Werte() - Gibt einen Satz aller in einer Karte vorhandenen Werte zurück.
- entrySet() - Gibt einen Satz aller Schlüssel/Wert-Zuordnungen zurück, die in einer Zuordnung vorhanden sind.
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<String, Integer> 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
Map: {One=1, Two=2} Keys: [One, Two] Values: [1, 2] Entries: [One=1, Two=2] Removed Value: 2
Um mehr über HashMap
zu erfahren , besuchen Sie Java HashMap.
2. Implementierung der TreeMap-Klasse
import java.util.Map;
import java.util.TreeMap;
class Main {
public static void main(String[] args) {
// Creating Map using TreeMap
Map<String, Integer> 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
Map using TreeMap: {First=1, Second=2} New Map: {First=11, Second=22} Removed Value: 11
Um mehr über TreeMap
zu erfahren , besuchen Sie Java TreeMap.
Java