Wie implementiere ich Map Interface in Java?



Dieser Artikel über Java Map Inteface hilft Ihnen zu verstehen, wie Map in Java funktioniert, und führt Sie in verschiedene Klassen ein, die Map Interface implementieren

Eines der interessantesten Themen in Java ist die Map-Oberfläche, dierepräsentiert eine Zuordnung zwischen einem Schlüssel und einem Wert.Es wird oft missverstanden, ein Subtyp von zu sein Schnittstelle in Java.Dieser Artikel über Java Map Interface hilft Ihnen zu verstehen und zu beherrschen, wie eine Karte funktioniert .

Nachfolgend sind die in diesem Artikel behandelten Themen aufgeführt:





Java Map-Schnittstelle

Eine Karte in Java ist eine Objekt das ordnet Schlüssel Werten zu und ist für die schnellere Suche konzipiert. Daten werden in Schlüssel-Wert-Paaren gespeichert und jeder Schlüssel ist eindeutig. Jeder Schlüssel ist einem Wert zugeordnet, daher die Namenszuordnung. Diese Schlüssel-Wert-Paare werden als Karteneinträge bezeichnet.

Karten in Java - Java Map Interface - Edureka



In dem , java.util.Map ist ein Dazu gehören Methodensignaturen zum Einfügen, Entfernen und Abrufen von Elementen basierend auf einem Schlüssel. Mit solchen Methoden ist es ein perfektes Werkzeug für die Zuordnung von Schlüsselwertzuordnungen wie Wörterbüchern.

Eigenschaften der Kartenschnittstelle

  • Die Map-Schnittstelle ist daher kein echter Subtyp der Collection-SchnittstelleSeine Eigenschaften und Verhaltensweisen unterscheiden sich von den übrigen Sammlungstypen.
  • Es bietetDrei Sammlungsansichten - Satz von Schlüsseln, Satz von Schlüsselwertzuordnungen und Sammlung von Werten.
  • ZUKartedarf keine doppelten Schlüssel enthalten und jeder Schlüssel kann höchstens einem Wert zugeordnet werden. Einige Implementierungen erlauben Nullschlüssel und Nullwert ( HashMap und LinkedHashMap ) aber manche nicht ( TreeMap).
  • Die Kartenschnittstelle garantiert nicht die Reihenfolge der Zuordnungen, hängt jedoch von der Implementierung ab. Beispielsweise, HashMap garantiert nicht die Reihenfolge der Zuordnungen, aber Baumkarte tut.
  • Die AbstractMap-Klasse bietet eine skelettartige Implementierung der Java Map-Schnittstelle und des größten Teils des Map-Konkreten Klassen Erweitern Sie die AbstractMap-Klasse und implementieren Sie die erforderlichen Methoden.

Jetzt haben Sie eine Vorstellung davon, in welcher Map-Oberfläche Sie sich befinden Lassen Sie uns die Hierarchie von Java Map überprüfen.

Java-Kartenhierarchie

Es gibt zwei Schnittstellen, die die Map in Java implementieren: Map und SortedMap. Und beliebte Implementierungsklassen von Map in Java sind HashMap, TreeMap , und LinkedHashMap. Die Hierarchie von Java Map ist unten angegeben:



Bevor wir uns die drei oben genannten Implementierungsklassen der Java Map-Schnittstelle ansehen, finden Sie hier einige gängige Methoden, auf die Sie bei der Arbeit mit der Map stoßen können.

Methoden in der Java Map-Schnittstelle

Methoden

Beschreibung

öffentlicher Put (Objektschlüssel, Objektwert)Diese Methode fügt einen Eintrag in die Karte ein
Öffentlichkeitvoid putAll (Kartenkarte)Diese Methode fügt die angegebene Karte in diese Karte ein
öffentliches Objekt entfernen (Objektschlüssel)Es wird verwendet, um einen Eintrag für den angegebenen Schlüssel zu löschen
public Set keySet ()Es gibt die Set-Ansicht zurück, die alle Schlüssel enthält
public Set entrySet ()Es gibt die Set-Ansicht zurück, die alle Schlüssel und Werte enthält
void clear ()Es wird verwendet, um die Karte zurückzusetzen
public void putIfAbsent (K-Taste, V-Wert)Der angegebene Wert wird nur dann mit dem angegebenen Schlüssel in die Karte eingefügt, wenn er noch nicht angegeben ist
public Object get (Objektschlüssel)Es gibt den Wert für den angegebenen Schlüssel zurück
public boolean enthältKey (Objektschlüssel)
Es wird verwendet, um den angegebenen Schlüssel von dieser Karte aus zu suchen

Implementierungen von Map

Es gibt einige die die Java Map implementierenEs gibt jedoch drei Haupt- und AllzweckimplementierungenHashMap, TreeMap und LinkedHashMap.Lassen Sie uns die Merkmale und Verhaltensweisen jeder Implementierung anhand eines Beispiels betrachten

HashMap-Klasse

Die häufigste Klasse, die die Java Map-Schnittstelle implementiert, ist die HashMap. Es ist eine auf Hash-Tabellen basierende Implementierung der Map-Schnittstelle.Es implementiert alle Kartenoperationenund erlaubt Nullwerte und einen Nullschlüssel. Außerdem behält diese Klasse keine Reihenfolge unter ihren Elementen bei. Hier ist ein Beispielprogramm, das die HashMap-Klasse demonstriert.

Paket MyPackage import java.util. * Klasse HashMapExample {public static void main (String [] args) {Kartenkurse = neue HashMap () // Einige Kurse hinzufügen. Kurse.put ('Java-Kurse', neue Ganzzahl (6)) Kurse.put ('Cloud-Kurse', neue Ganzzahl (7)) Kurse.put ('Programmierkurse', neue Ganzzahl (5)) Kurse.put (' Data Science-Kurse ', neue Ganzzahl (2)) System.out.println (' Gesamtkurse: '+ Kurse.Größe ()) Setst = Kurse.entrySet () für (Map.Entry me: st) {System.out.print (me.getKey () + ':') System.out.println (me.getValue ())} System.out. println () String searchKey = 'Java Courses' if (Kurse.containsKey (searchKey)) System.out.println ('Summe gefunden' + Kurse.get (searchKey) + '' + searchKey)}}

Ausgabe

Gesamtkurse: 4 Cloud-Kurse: 7 Programmierkurse: 5 Data Science-Kurse: 2 Java-Kurse: 6 Insgesamt 6 Java-Kurse gefunden

Im obigen Programm habe ich viele in der Tabelle erwähnte Methoden verwendet. Erstens die stellen() Methode fügt 4 Einträge in die Karte ein, und die Größe() Die Methode im nächsten Schritt zeigt die Größe der Karte an (Gesamtzahl der Schlüssel-Wert-Paare). Danach wird im nächsten Schritt die entrySet () Methode gibt alle Schlüssel-Wert-Paare zurück. Das Programm zeigt auch, wie man es benutzt erhalten() Methode zum Suchen nach einem Wert mit dem zugehörigen Schlüssel.

Fahren wir mit der nächsten Klasse fort, die die Java Map-Schnittstelle implementiert - TreeMap.

TreeMap-Klasse

Diese Implementierung verwendet den Rot-Schwarz-Baum als Basiswert Datenstruktur . Eine TreeMap wird nach der natürlichen Reihenfolge ihrer Schlüssel oder nach einem zum Zeitpunkt der Erstellung bereitgestellten Komparator sortiert. Diese Implementierung erlaubt keine Nullen, behält aber beiOrdnung auf seinen Elementen. Hier ist ein Beispielprogramm, das die TreeMap-Klasse demonstriert.

Paket MyPackage import java.util. * Klasse TreeMapEx {public static void main (String [] args) {Kartenkurse = new TreeMap () // Einige Kurse hinzufügen. Kurse.put ('Java-Kurse', neue Ganzzahl (3)) Kurse.put ('AWS-Kurse', neue Ganzzahl (7)) Kurse.put ('Programmierkurse', neue Ganzzahl (8)) Kurse.put (' Data Science-Kurse ', neue Ganzzahl (2)) System.out.println (' Gesamtkurse: '+ Kurse.Größe ()) Setst = Kurse.entrySet () für (Map.Entry me: st) {System.out.print (me.getKey () + ':') System.out.println (me.getValue ())} System.out. println ()}}

Ausgabe

Gesamtkurse: 4 AWS-Kurse: 7 Data Science-Kurse: 2 Java-Kurse: 3 Programmierkurse: 8

Wie erstelle ich ein Wörterbuch in Java?

In der Ausgabe werden die Elemente der Karte in einer strengen lexikografischen Reihenfolge gedruckt, die in den vorherigen Beispielen von HashMap nicht enthalten ist. Die nächste Klasse, die wir diskutieren werden, ist LinkedHashMap .

LinkedHashMap-Klasse

Wie der Name schon sagt, verwendet diese Implementierung der Java Map-Schnittstelle eine Hash-Tabelle und eine verknüpfte Liste als zugrunde liegende Datenstrukturen. Somit ist die Reihenfolge einer LinkedHashMapvorhersehbar, mit Einfügereihenfolge als Standardreihenfolge. Erlaubt auch Nullen wie in HashMap. Hier ist ein Beispielprogramm, das die TreeMap-Klasse demonstriert.

Paket MyPackage import java.util. * öffentliche Klasse LinkedHashMapExample {public static void main (String a []) {LinkedHashMap-Kurse = neue LinkedHashMap () Kurse.put ('Java-Kurse', neue Ganzzahl (3)) Kurse.put (' Cloud Courses ', neue Integer (7) -Kurse.put (' Programmierkurse ', neue Integer (8)) Kurse.put (' Data Science Courses ', neue Integer (2)) // Die Elemente werden in derselben Reihenfolge gedruckt // wie sie eingefügt wurden System.out.println (Kurse) System.out.println ('Gesamtkurse:' + Kurse.size ()) System.out.println ('Enthält Schlüssel' Hadoop '?' + Kurse.containsKey ('Hadoop')) System.out.println ('Wert für Schlüssel' Programmierkurse 'abrufen:' + Kurse.get ('Programmierkurse')) System.out.println ('Ist die Karte leer?' + Kurse.isEmpty ()) System.out.println ('Element löschen' Cloud-Kurse ':' + Kurse.entfernen ('Cloud-Kurse')) System.out.println (Kurse)}}

Ausgabe

{Java-Kurse = 3, Cloud-Kurse = 7, Programmierkurse = 8, Data Science-Kurse = 2} Gesamtkurse: 4 Enthält den Schlüssel 'Hadoop'? false Wert für Schlüssel 'Programmierkurse' abrufen: 8 Ist die Karte leer? false Element löschen 'Cloud-Kurse': 7 {Java-Kurse = 3, Programmierkurse = 8, Data Science-Kurse = 2}

Das Beispielprogramm ist ziemlich einfach zu verstehen. Ich habe einige grundlegende Methoden verwendet, um die Funktionsweise von LinkeHashMap in Java zu demonstrieren. Wie ich bereits sagte, gibt es neben diesen drei Klassen noch viele andere Klassen, die die Java Map-Schnittstelle implementieren.

Dies bringt uns zum Ende dieses Artikels über die Java Map-Schnittstelle. Ich habe eines der interessanten Themen von Java behandelt, nämlich die Map-Schnittstelle in Java.

Stellen Sie sicher, dass Sie so viel wie möglich üben und Ihre Erfahrung zurücksetzen.

Besuche die von Edureka, einem vertrauenswürdigen Online-Lernunternehmen mit einem Netzwerk von mehr als 250.000 zufriedenen Lernenden auf der ganzen Welt. Wir sind hier, um Ihnen bei jedem Schritt auf Ihrer Reise zu helfen. Neben diesen Fragen zu Java-Interviews erstellen wir einen Lehrplan, der für Studenten und Fachleute konzipiert ist, die Java-Entwickler werden möchten.

Hast du eine Frage an uns? Bitte erwähnen Sie es im Kommentarbereich dieser 'Java Map-Oberfläche'. Artikel und wir werden uns so schnell wie möglich bei Ihnen melden.