Die Java-TreeMap-Klasse speichert Daten in einer Baumstruktur unter Verwendung einer Kartenschnittstelle. Diese Klasse erweitert die AbstractMap-Klasse, und wie ihre Elternklasse hat TreeMap zwei Typparameter. Einer seiner Typparameter stellt die Schlüssel in der TreeMap dar, während der andere die Werte darstellt.

Die TreeMap-Datenstruktur speichert Schlüssel-Wert-Paare und ermöglicht es Ihnen, CRUD-Operationen mit diesen Daten durchzuführen.

So erstellen Sie eine TreeMap in Java

Die TreeMap-Klasse verfügt über vier Konstruktoren, mit denen Sie ein neues TreeMap-Objekt erstellen können. Der Standardkonstruktor ist der beliebteste der vier. Dieser Konstruktor akzeptiert keine Argumente und generiert eine leere Baumkarte.

// Erstellen Sie eine neue Baumkarte
Baumkarte Kunden = Neu Baumkarte();

Der obige Code generiert eine leere Baumkarte namens Kunden.

Füllen der TreeMap-Datenstruktur

Das stellen() -Methode fügt einem TreeMap-Objekt ein Element hinzu. Es benötigt zwei Argumente – einen Schlüssel und seinen Wert. Sie können der Baumkarte Elemente in beliebiger Reihenfolge hinzufügen, und die Datenstruktur speichert sie in aufsteigender Reihenfolge entsprechend ihren Schlüsseln.

instagram viewer

// Füllen Sie eine Baumkarte
Kunden.put(105, „Jessica Jones“);
Kunden.put(102, "Mark Williams");
Kunden.put(104, „Phil Blair“);
Kunden.put(101, "Kim Brown");
Kunden.put(103, „Jim Riley“);

Der obige Code fügt der Kundenstrukturkarte fünf Kunden in zufälliger Reihenfolge hinzu.

Anzeigen von Elementen in einer TreeMap

Die TreeMap-Klasse speichert ihre Daten in einem Objekt. Um also alle Elemente in einer Baumkarte anzuzeigen, können Sie einfach das Baumkartenobjekt auf der Konsole drucken:

// Alle Treemap-Elemente als Objekt anzeigen
System.out.println (Kunden);

Der obige Code gibt die folgende Ausgabe an die Konsole aus:

{101=Kim Brown, 102=Mark Williams, 103=Jim Riley, 104=Phil Blair, 105=Jessica Jones}

Beachten Sie, dass das obige Objekt die Elemente in aufsteigender Reihenfolge anzeigt. Sie können auch jedes Element und seinen entsprechenden Schlüssel mit anzeigen eine Java-for-Schleife.

// Alle Elemente mit einem Iterator anzeigen
zum (Eintrag Kunde: kunden.entrySet()) {
System.out.println("Key: " + customer.getKey() + " Value: " + customer.getValue());
}

Der obige Code gibt die folgende Ausgabe an die Konsole aus:

Schlüssel: 101 Wert: Kim Brown
Schlüssel: 102 Wert: Mark Williams
Schlüssel: 103 Wert: Jim Riley
Schlüssel: 104 Wert: Phil Blair
Schlüssel: 105 Wert: Jessica Jones

Aktualisieren von Elementen in einer TreeMap

Mit der TreeMap-Klasse können Sie ein vorhandenes Element mithilfe von aktualisieren ersetzen() Methode. Es gibt zwei Ersetzungsmethoden. Die erste Methode nimmt einen vorhandenen Schlüssel und den neuen Wert, dem Sie den vorhandenen Schlüssel zuordnen möchten.

// Vorhandenen Wert ersetzen
Kunden.ersetzen (101,"Kim Smith");
System.out.println (Kunden);

Der obige Code gibt das folgende Objekt in der Konsole aus:

{101=Kim Smith, 102=Mark Williams, 103=Jim Riley, 104=Phil Blair, 105=Jessica Jones}

Wie du sehen kannst Kim Braun ist jetzt Kim Smith. Die zweite Methode replace() nimmt einen vorhandenen Schlüssel, den aktuellen Wert des Schlüssels und den neuen Wert, den Sie dem Schlüssel zuordnen möchten.

// Vorhandenen Wert ersetzen
Kunden.ersetzen (103, „Jim Riley“, „Michelle Noah“);
System.out.println (Kunden);

Der obige Code gibt das folgende Objekt in der Konsole aus:

{101=Kim Brown, 102=Mark Williams, 103=Michelle Noah, 104=Phil Blair, 105=Jessica Jones}

Im obigen Objekt Michelle Noah ersetzt Jim Riley.

Elemente aus der TreeMap löschen

Wenn Sie ein einzelnes Element aus der Baumstruktur entfernen möchten, wird die Löschen() Methode ist Ihre einzige Option. Es nimmt den Schlüssel, der dem Element zugeordnet ist, das Sie entfernen möchten, und gibt den gelöschten Wert zurück.

// Ein Element entfernen
Kunden.Entfernen(104);
System.out.println (Kunden);

Wenn Sie den obigen Code ausführen, wird das folgende Objekt auf der Konsole ausgegeben:

{101=Kim Smith, 102=Mark Williams, 103=Michelle Noah, 105=Jessica Jones}

Dies Java-Klasse hat auch eine klar() Methode, mit der Sie alle Elemente in der Baumstruktur löschen können.

Die TreeMap vs. die HashMap-Java-Klasse

TreeMap und HashMap sind zwei der beliebtesten Java-Map-Klassen. Beide erweitern die AbstractMap-Klasse. Diese Beziehung gibt den Klassen TreeMap und HashMap Zugriff auf viele der gleichen Funktionen.

Es gibt jedoch einige bemerkenswerte Unterschiede zwischen diesen beiden Kartenklassen. Die TreeMap verwendet eine Rot-Schwarz-Baum-Implementierung der Map-Schnittstelle, während die HashMap eine Hash-Tabelle verwendet. HashMap ermöglicht es Ihnen, einen einzelnen Nullschlüssel zu speichern, während TreeMap dies nicht tut. Schließlich ist eine HashMap schneller als eine TreeMap. Die algorithmische Geschwindigkeit des ersteren ist O(1), während die des letzteren O(log (n)) ist.