logo

Java-Kartenschnittstelle

Eine Karte enthält Werte auf Basis eines Schlüssels, d. h. eines Schlüssel-Wert-Paares. Jedes Schlüssel-Wert-Paar wird als Eintrag bezeichnet. Eine Map enthält eindeutige Schlüssel.

Eine Karte ist nützlich, wenn Sie Elemente anhand eines Schlüssels suchen, aktualisieren oder löschen müssen.

Java-Kartenhierarchie

Es gibt zwei Schnittstellen zum Implementieren von Map in Java: Map und SortedMap sowie drei Klassen: HashMap, LinkedHashMap und TreeMap. Die Hierarchie der Java Map ist unten angegeben:

Java-Kartenhierarchie

Eine Karte lässt keine doppelten Schlüssel zu, aber Sie können doppelte Werte haben. HashMap und LinkedHashMap erlauben Nullschlüssel und -werte, TreeMap lässt jedoch keine Nullschlüssel oder -werte zu.

Eine Karte kann nicht durchlaufen werden, daher müssen Sie sie mit in Set umwandeln Schlüsselsatz() oder EintragSet() Methode.

KlasseBeschreibung
HashMap HashMap ist die Implementierung von Map, behält jedoch keine Reihenfolge bei.
LinkedHashMapLinkedHashMap ist die Implementierung von Map. Es erbt die HashMap-Klasse. Die Einfügereihenfolge wird beibehalten.
TreeMap TreeMap ist die Implementierung von Map und SortedMap. Es behält die aufsteigende Reihenfolge bei.

Nützliche Methoden der Kartenschnittstelle

MethodeBeschreibung
V put(Objektschlüssel, Objektwert)Es dient zum Einfügen eines Eintrags in die Karte.
void putAll(Map Karte)Es wird verwendet, um die angegebene Karte in die Karte einzufügen.
V putIfAbsent(K-Taste, V-Wert)Es fügt den angegebenen Wert mit dem angegebenen Schlüssel nur dann in die Karte ein, wenn er nicht bereits angegeben ist.
V entfernen(Objektschlüssel)Es wird verwendet, um einen Eintrag für den angegebenen Schlüssel zu löschen.
boolescher Wert Remove(Objektschlüssel, Objektwert)Es entfernt die angegebenen Werte mit den zugehörigen angegebenen Schlüsseln aus der Karte.
setze keySet()Es wird die Set-Ansicht zurückgegeben, die alle Schlüssel enthält.
SatzEintragSet()Es wird die Set-Ansicht zurückgegeben, die alle Schlüssel und Werte enthält.
void klar()Es wird verwendet, um die Karte zurückzusetzen.
V berechnen(K-Taste, BiFunction remappingFunction)Es wird verwendet, um eine Zuordnung für den angegebenen Schlüssel und seinen aktuell zugeordneten Wert (oder null, wenn keine aktuelle Zuordnung vorhanden ist) zu berechnen.
V computeIfAbsent(K-Taste, Funktionszuordnungsfunktion)Es wird verwendet, um seinen Wert mithilfe der angegebenen Zuordnungsfunktion zu berechnen, wenn der angegebene Schlüssel noch nicht mit einem Wert verknüpft ist (oder auf null abgebildet ist), und gibt ihn in diese Zuordnung ein, sofern er nicht null ist.
V computeIfPresent(K-Taste, BiFunction remappingFunction)Es wird verwendet, um anhand des Schlüssels und seines aktuellen zugeordneten Werts eine neue Zuordnung zu berechnen, wenn der Wert für den angegebenen Schlüssel vorhanden und nicht null ist.
boolescher Wert enthältWert(Objektwert)Diese Methode gibt „true“ zurück, wenn in der Karte ein Wert vorhanden ist, der dem Wert entspricht, andernfalls wird „false“ zurückgegeben.
boolescher Wert enthältSchlüssel(Objektschlüssel)Diese Methode gibt „true“ zurück, wenn in der Karte ein Schlüssel vorhanden ist, der dem Schlüssel entspricht, andernfalls wird „false“ zurückgegeben.
boolescher Wert gleicht (Objekt o)Es wird verwendet, um das angegebene Objekt mit der Karte zu vergleichen.
void forEach(BiConsumer-Aktion)Es führt die angegebene Aktion für jeden Eintrag in der Karte aus, bis alle Einträge verarbeitet wurden oder die Aktion eine Ausnahme auslöst.
V get(Objektschlüssel)Diese Methode gibt das Objekt zurück, das den mit dem Schlüssel verknüpften Wert enthält.
V getOrDefault(Objektschlüssel, V defaultValue)Es gibt den Wert zurück, dem der angegebene Schlüssel zugeordnet ist, oder defaultValue, wenn die Zuordnung keine Zuordnung für den Schlüssel enthält.
int hashCode()Es gibt den Hash-Codewert für die Karte zurück
boolean isEmpty()Diese Methode gibt true zurück, wenn die Karte leer ist; gibt false zurück, wenn es mindestens einen Schlüssel enthält.
V-Zusammenführung (K-Taste, V-Wert, BiFunction-Remapping-Funktion)Wenn der angegebene Schlüssel noch keinem Wert zugeordnet ist oder mit Null verknüpft ist, ordnet er ihn dem angegebenen Nicht-Null-Wert zu.
V ersetzen (K-Taste, V-Wert)Es ersetzt den angegebenen Wert für einen angegebenen Schlüssel.
boolescher Ersatz (K-Taste, V alter Wert, V neuer Wert)Es ersetzt den alten Wert durch den neuen Wert für einen angegebenen Schlüssel.
void replaceAll(BiFunction-Funktion)Der Wert jedes Eintrags wird durch das Ergebnis des Aufrufs der angegebenen Funktion für diesen Eintrag ersetzt, bis alle Einträge verarbeitet wurden oder die Funktion eine Ausnahme auslöst.
Sammlungswerte()Es gibt eine Sammlungsansicht der in der Karte enthaltenen Werte zurück.
int size()Diese Methode gibt die Anzahl der Einträge in der Karte zurück.

Map.Entry-Schnittstelle

Entry ist die Unterschnittstelle von Map. Der Zugriff erfolgt also über den Map.Entry-Namen. Es gibt eine Sammlungsansicht der Karte zurück, deren Elemente dieser Klasse angehören. Es bietet Methoden zum Abrufen von Schlüssel und Wert.

Methoden der Map.Entry-Schnittstelle

MethodeBeschreibung
K getKey()Es wird verwendet, um einen Schlüssel zu erhalten.
V getValue()Es dient der Werterlangung.
int hashCode()Es wird verwendet, um HashCode zu erhalten.
V setValue(V-Wert)Es wird verwendet, um den diesem Eintrag entsprechenden Wert durch den angegebenen Wert zu ersetzen.
boolescher Wert gleicht (Objekt o)Es wird verwendet, um das angegebene Objekt mit den anderen vorhandenen Objekten zu vergleichen.
statischKomparatorvergleichenByKey()Es gibt einen Komparator zurück, der die Objekte in natürlicher Reihenfolge nach Schlüssel vergleicht.
statischer KomparatorvergleichenByKey(Comparator cmp)Es gibt einen Komparator zurück, der die Objekte anhand des angegebenen Komparators anhand des Schlüssels vergleicht.
statischKomparatorvergleichenByValue()Es gibt einen Komparator zurück, der die Objekte in natürlicher Reihenfolge nach Wert vergleicht.
statischer KomparatorvergleichenByValue(Comparator cmp)Es gibt einen Komparator zurück, der die Objekte anhand des angegebenen Komparators nach Wert vergleicht.

Beispiel für eine Java-Karte: Nicht generisch (alter Stil)

 //Non-generic import java.util.*; public class MapExample1 { public static void main(String[] args) { Map map=new HashMap(); //Adding elements to map map.put(1,'Amit'); map.put(5,'Rahul'); map.put(2,'Jai'); map.put(6,'Amit'); //Traversing Map Set set=map.entrySet();//Converting to Set so that we can traverse Iterator itr=set.iterator(); while(itr.hasNext()){ //Converting to Map.Entry so that we can get key and value separately Map.Entry entry=(Map.Entry)itr.next(); System.out.println(entry.getKey()+' '+entry.getValue()); } } } 

Ausgabe:

 1 Amit 2 Jai 5 Rahul 6 Amit 

Beispiel für eine Java-Karte: Generisch (neuer Stil)

 import java.util.*; class MapExample2{ public static void main(String args[]){ Map map=new HashMap(); map.put(100,'Amit'); map.put(101,'Vijay'); map.put(102,'Rahul'); //Elements can traverse in any order for(Map.Entry m:map.entrySet()){ System.out.println(m.getKey()+' '+m.getValue()); } } } 

Ausgabe:

 102 Rahul 100 Amit 101 Vijay 

Beispiel für eine Java-Karte: vergleichenByKey()

 import java.util.*; class MapExample3{ public static void main(String args[]){ Map map=new HashMap(); map.put(100,'Amit'); map.put(101,'Vijay'); map.put(102,'Rahul'); //Returns a Set view of the mappings contained in this map map.entrySet() //Returns a sequential Stream with this collection as its source .stream() //Sorted according to the provided Comparator .sorted(Map.Entry.comparingByKey()) //Performs an action for each element of this stream .forEach(System.out::println); } } 

Ausgabe:

 100=Amit 101=Vijay 102=Rahul 

Beispiel für eine Java-Karte: vergleichenByKey() in absteigender Reihenfolge

 import java.util.*; class MapExample4{ public static void main(String args[]){ Map map=new HashMap(); map.put(100,'Amit'); map.put(101,'Vijay'); map.put(102,'Rahul'); //Returns a Set view of the mappings contained in this map map.entrySet() //Returns a sequential Stream with this collection as its source .stream() //Sorted according to the provided Comparator .sorted(Map.Entry.comparingByKey(Comparator.reverseOrder())) //Performs an action for each element of this stream .forEach(System.out::println); } } 

Ausgabe:

 102=Rahul 101=Vijay 100=Amit 

Beispiel für eine Java-Karte: vergleichenByValue()

 import java.util.*; class MapExample5{ public static void main(String args[]){ Map map=new HashMap(); map.put(100,'Amit'); map.put(101,'Vijay'); map.put(102,'Rahul'); //Returns a Set view of the mappings contained in this map map.entrySet() //Returns a sequential Stream with this collection as its source .stream() //Sorted according to the provided Comparator .sorted(Map.Entry.comparingByValue()) //Performs an action for each element of this stream .forEach(System.out::println); } } 

Ausgabe:

 100=Amit 102=Rahul 101=Vijay 

Java-Map-Beispiel: vergleichenByValue() in absteigender Reihenfolge

 import java.util.*; class MapExample6{ public static void main(String args[]){ Map map=new HashMap(); map.put(100,'Amit'); map.put(101,'Vijay'); map.put(102,'Rahul'); //Returns a Set view of the mappings contained in this map map.entrySet() //Returns a sequential Stream with this collection as its source .stream() //Sorted according to the provided Comparator .sorted(Map.Entry.comparingByValue(Comparator.reverseOrder())) //Performs an action for each element of this stream .forEach(System.out::println); } } 

Ausgabe:

 101=Vijay 102=Rahul 100=Amit