Eine kurze Einführung in TreeMap in Java mit Beispielen



Dieser Artikel vermittelt Ihnen detaillierte und umfassende Kenntnisse über TreeMap in Java mit Beispielen für Methoden und Konstruktoren.

Das Implementieren einer Map-Schnittstelle in Java ist eine sehr wichtige Aufgabe. Zu diesem Zweck haben wir Baumkarte und HashMap . In diesem Artikel konzentrieren wir uns auf TreeMap in in der folgenden Reihenfolge:

Was ist eine TreeMap in Java?

Eine TreeMap in Java wird verwendet, um die Map-Schnittstelle und NavigableMap zusammen mit der Abstract-Klasse zu implementieren. Die Karte wird nach der natürlichen Reihenfolge ihrer Schlüssel oder nach einem zum Zeitpunkt der Kartenerstellung bereitgestellten Komparator sortiert, je nachdem, welcher Konstruktor verwendet wird. Dies erweist sich als effiziente Methode zum Sortieren und Speichern der Schlüssel-Wert-Paare.





TreeMap-in-JavaDie von der Baumkarte gepflegte Speicherreihenfolge muss unabhängig von den expliziten Komparatoren wie jede andere sortierte Karte gleich sein. Die BaumkarteDie Implementierung ist nicht in dem Sinne synchronisiert, dass, wenn auf eine Map von mehreren Threads gleichzeitig zugegriffen wird und mindestens einer der Threads die Map strukturell ändert, sie extern synchronisiert werden muss.

Funktionen von TreeMaps

  • Diese Klasse ist Mitglied des Java Collections Framework.



  • Die Klasse implementiert Map-Schnittstellen wie NavigableMap, SortedMap und erweitert AbstractMap

  • TreeMap in Java erlaubt keine Nullschlüssel (wie Map) und daher wird eine NullPointerException ausgelöst. Es können jedoch mehrere Nullwerte verschiedenen Schlüsseln zugeordnet werden.

  • Alle Map.Entry-Paare, die von Methoden in dieser Klasse und ihren Ansichten zurückgegeben werden, stellen Momentaufnahmen von Zuordnungen zum Zeitpunkt ihrer Erstellung dar.



  • Sie unterstützen die Entry.setValue-Methode nicht.

Wichtige Punkte, die Sie beachten sollten

  1. Neben der Implementierung der Map-Schnittstelle implementiert Java TreeMap auch NavigableMap und indirekt die SortedMap-Schnittstelle. TreeMap erweitert auch die AbstractMap-Klasse.

  2. TreeMap-Einträge werden in der natürlichen Reihenfolge ihrer Schlüssel sortiert. Es stellt auch einen Konstruktor bereit, um einen Komparator bereitzustellen, der für die Bestellung verwendet werden kann. Wenn Sie also eine Klasse als Schlüssel verwenden, stellen Sie sicher, dass sie eine vergleichbare Schnittstelle für die natürliche Reihenfolge implementiert. Schauen Sie sich die Interviewfragen zu Java-Sammlungen an, um die Bedeutung dieser Methoden zu verstehen.

  3. Die Implementierung von Java TreeMap bietet garantierte Protokollkosten (n) für die Vorgänge mit dem Schlüssel, den Abruf, dem Einfügen und dem Entfernen.

  4. TreeMap ist nicht synchronisiert und daher nicht threadsicher. In Multithread-Umgebungen können Sie einen Wrapping mithilfe der Collections.synchronizedSortedMap-Methode synchronisieren.

  5. TreeMap-Methoden zum Abrufen von Keyset und Werten geben einen Iterator zurück, der von Natur aus ausfallsicher ist. Bei jeder gleichzeitigen Änderung wird eine ConcurrentModificationException ausgelöst.

  6. TreeMap in Java erlaubt keine Nullschlüssel. Sie können jedoch mehrere Nullwerte mit verschiedenen Schlüsseln verknüpfen.

Konstruktoren in TreeMap

Baumeister Beschreibung
TreeMap () Erstellt eine leere Baumkarte, die in der natürlichen Reihenfolge ihrer Schlüssel sortiert wird.
TreeMap (Komparator comp) Erstellt eine leere baumbasierte Karte, die mit dem Komparator comp sortiert wird.
Baumkarte (Karte m) Initialisiert eine Baumkarte mit den Einträgen von m, die in der natürlichen Reihenfolge der Schlüssel sortiert werden.
TreeMap (SortedMap sm) Initialisiert eine Baumkarte mit den Einträgen aus der SortedMap sm, die in derselben Reihenfolge wie sm sortiert werden.

Methoden in TreeMap

Methode Beschreibung
void clear () Entfernt alle Zuordnungen aus dieser TreeMap.
Objektklon () Gibt eine flache Kopie dieser TreeMap-Instanz zurück.
Komparator Komparator () Gibt den Komparator zurück, der zum Bestellen dieser Karte verwendet wurde, oder null, wenn diese Karte die natürliche Reihenfolge ihrer Schlüssel verwendet.
Boolescher Wert enthältKey (Objektschlüssel) Gibt true zurück, wenn diese Zuordnung eine Zuordnung für den angegebenen Schlüssel enthält.
Boolescher Wert enthältWert (Objektwert) Gibt true zurück, wenn diese Zuordnung einen oder mehrere Schlüssel dem angegebenen Wert zuordnet.
Setze entrySet () Gibt eine festgelegte Ansicht der in dieser Karte enthaltenen Zuordnungen zurück.
Objekt firstKey () Gibt den ersten (niedrigsten) Schlüssel zurück, der sich derzeit in dieser sortierten Karte befindet.
Object get (Objektschlüssel) Gibt den Wert zurück, dem diese Zuordnung den angegebenen Schlüssel zuordnet.
SortedMap headMap (Object toKey) Gibt eine Ansicht des Teils dieser Karte zurück, dessen Schlüssel streng kleiner als toKey sind.
Setze keySet () Gibt eine Set-Ansicht der in dieser Map enthaltenen Schlüssel zurück.
Objekt lastKey () Gibt den letzten (höchsten) Schlüssel zurück, der sich derzeit in dieser sortierten Karte befindet.
Objekt setzen (Objektschlüssel, Objektwert) Ordnet den angegebenen Wert dem angegebenen Schlüssel in dieser Zuordnung zu.
void putAll (Kartenkarte) Kopiert alle Zuordnungen von der angegebenen Karte in diese Karte.
Objekt entfernen (Objektschlüssel) Entfernt die Zuordnung für diesen Schlüssel aus dieser TreeMap, falls vorhanden.
int size () Gibt die Anzahl der Schlüsselwertzuordnungen in dieser Zuordnung zurück.
SortedMap subMap (Objekt von Schlüssel, Objekt zu Schlüssel) Gibt eine Ansicht des Teils dieser Karte zurück, dessen Schlüssel von Schlüssel einschließlich bis zu Schlüssel exklusiv reichen.
SortedMap tailMap (Objekt von Key) Gibt eine Ansicht des Teils dieser Karte zurück, dessen Schlüssel größer oder gleich fromKey sind.
Sammlungswerte () Gibt eine Sammlungsansicht der in dieser Karte enthaltenen Werte zurück.

Beispiel für TreeMap in Java

import java.util.TreeMap öffentliche Klasse TreeMapMain {public static void main (String args []) {// TreeMap mit Land als Schlüssel und Kapital als Wert // TreeMap speichert Elemente in natürlicher Reihenfolge der Schlüssel. TreeMap countryCapitalMap = new TreeMap () countryCapitalMap.put ('Indien', 'Delhi') countryCapitalMap.put ('Japan', 'Tokio') countryCapitalMap.put ('Frankreich', 'Paris') countryCapitalMap.put ('Russland') , 'Moskau') System.out.println ('-----------------------------') // TreeMap mit keySet iterieren ( ) und für jede Schleife System.out.println ('Iterieren von TreeMap mit keySet () und für jede Schleife') für (String countryKey: countryCapitalMap.keySet ()) {System.out.println ('Country:' + countryKey + ' und Kapital: '+ countryCapitalMap.get (countryKey))} System.out.println (' ----------------------------- ' )}}

Ausgabe:

So richten Sie den Java-Pfad ein

Damit sind wir am Ende dieses TreeMap in Java-Artikels angelangt. C. verdammt noch mal von Edureka, einem vertrauenswürdigen Online-Lernunternehmen mit einem Netzwerk von mehr als 250.000 zufriedenen Lernenden auf der ganzen Welt. Der Java J2EE- und SOA-Schulungs- und Zertifizierungskurs von Edureka richtet sich an Studenten und Fachleute, die Java-Entwickler werden möchten. Der Kurs soll Ihnen einen Vorsprung in die Java-Programmierung verschaffen und Sie sowohl für grundlegende als auch für fortgeschrittene Java-Konzepte sowie für verschiedene Java-Frameworks wie Hibernate & Spring schulen.

Hast du eine Frage an uns? Bitte erwähnen Sie dies im Kommentarbereich dieses Blogs „TreeMap in Java“. Wir werden uns so schnell wie möglich bei Ihnen melden.