logo

Java TreeMap-Klasse

Java TreeMap-Klassenhierarchie

Die Java TreeMap-Klasse ist eine auf einem Rot-Schwarz-Baum basierende Implementierung. Es bietet eine effiziente Möglichkeit, Schlüssel-Wert-Paare in sortierter Reihenfolge zu speichern.

Die wichtigen Punkte zur Java TreeMap-Klasse sind:

  • Java TreeMap enthält Werte basierend auf dem Schlüssel. Es implementiert die NavigableMap-Schnittstelle und erweitert die AbstractMap-Klasse.
  • Java TreeMap enthält nur eindeutige Elemente.
  • Java TreeMap kann keinen Nullschlüssel, aber mehrere Nullwerte haben.
  • Java TreeMap ist nicht synchronisiert.
  • Java TreeMap behält die aufsteigende Reihenfolge bei.

Deklaration der TreeMap-Klasse

Sehen wir uns die Deklaration für die Klasse java.util.TreeMap an.

Schauspieler Rekha
 public class TreeMap extends AbstractMap implements NavigableMap, Cloneable, Serializable 

Parameter der TreeMap-Klasse

Sehen wir uns die Parameter für die Klasse java.util.TreeMap an.

    K: Dies ist der Schlüsseltyp, der von dieser Karte verwaltet wird.IN: Dies ist der Typ der zugeordneten Werte.

Konstruktoren der Java TreeMap-Klasse

KonstrukteurBeschreibung
TreeMap()Es wird verwendet, um eine leere Baumkarte zu erstellen, die anhand der natürlichen Reihenfolge ihres Schlüssels sortiert wird.
TreeMap (Komparator Komparator)Es wird verwendet, um eine leere baumbasierte Karte zu erstellen, die mithilfe des Komparators comp sortiert wird.
TreeMap(Karte m)Es wird verwendet, um eine Baumkarte mit den Einträgen von zu initialisieren M , die nach der natürlichen Reihenfolge der Schlüssel sortiert wird.
TreeMap(SortedMap m)Es wird verwendet, um eine Treemap mit den Einträgen aus der SortedMap zu initialisieren sm , die in der gleichen Reihenfolge sortiert werden wie sm.

Methoden der Java TreeMap-Klasse

MethodeBeschreibung
Map.Entry surfaceEntry(K-Taste)Es gibt das Schlüssel-Wert-Paar mit dem kleinsten Schlüssel zurück, der größer oder gleich dem angegebenen Schlüssel ist, oder null, wenn kein solcher Schlüssel vorhanden ist.
K-Deckenschlüssel (K-Schlüssel)Es gibt den kleinsten Schlüssel zurück, der größer als der angegebene Schlüssel ist, oder null, wenn kein solcher Schlüssel vorhanden ist.
void klar()Es entfernt alle Schlüssel-Wert-Paare aus einer Karte.
Objektklon()Es gibt eine flache Kopie der TreeMap-Instanz zurück.
Komparator Komparator()Es gibt den Komparator zurück, der den Schlüssel in der richtigen Reihenfolge anordnet, oder null, wenn die Karte die natürliche Reihenfolge verwendet.
NavigableSet descendingKeySet()Es gibt eine NavigableSet-Ansicht in umgekehrter Reihenfolge der in der Karte enthaltenen Schlüssel zurück.
NavigableMap absteigendeMap()Es gibt die angegebenen Schlüssel-Wert-Paare in absteigender Reihenfolge zurück.
Map.Entry firstEntry()Es gibt das Schlüssel-Wert-Paar mit dem kleinsten Schlüssel zurück.
Map.Entry floorEntry(K-Taste)Es gibt den größten Schlüssel zurück, der kleiner oder gleich dem angegebenen Schlüssel ist, oder null, wenn kein solcher Schlüssel vorhanden ist.
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.
SortedMap headMap(K toKey)Es gibt die Schlüssel-Wert-Paare zurück, deren Schlüssel strikt kleiner als toKey sind.
NavigableMap headMap(K toKey, boolean inklusive)Es gibt die Schlüssel-Wert-Paare zurück, deren Schlüssel kleiner als (oder gleich, wenn inklusive wahr ist) toKey sind.
Map.EntryhigherEntry(K-Taste)Es gibt den kleinsten Schlüssel zurück, der strikt größer als der angegebene Schlüssel ist, oder null, wenn kein solcher Schlüssel vorhanden ist.
K höherSchlüssel(K-Taste)Es wird verwendet, um „true“ zurückzugeben, wenn diese Karte eine Zuordnung für den angegebenen Schlüssel enthält.
setze keySet()Es gibt die Sammlung der in der Karte vorhandenen Schlüssel zurück.
Map.Entry lastEntry()Es gibt das Schlüssel-Wert-Paar mit dem größten Schlüssel zurück oder null, wenn kein solcher Schlüssel vorhanden ist.
Map.Entry LowerEntry(K-Taste)Es gibt eine Schlüssel-Wert-Zuordnung zurück, die dem größten Schlüssel zugeordnet ist, der strikt kleiner als der angegebene Schlüssel ist, oder null, wenn kein solcher Schlüssel vorhanden ist.
K LowerKey (K-Taste)Es gibt den größten Schlüssel zurück, der strikt kleiner als der angegebene Schlüssel ist, oder null, wenn es keinen solchen Schlüssel gibt.
NavigableSet navigableKeySet()Es gibt eine NavigableSet-Ansicht der in dieser Karte enthaltenen Schlüssel zurück.
Map.Entry pollFirstEntry()Es entfernt eine Schlüssel-Wert-Zuordnung, die dem kleinsten Schlüssel in dieser Zuordnung zugeordnet ist, und gibt sie zurück, oder null, wenn die Zuordnung leer ist.
Map.Entry pollLastEntry()Es entfernt eine Schlüssel-Wert-Zuordnung, die dem größten Schlüssel in dieser Zuordnung zugeordnet ist, und gibt sie zurück, oder null, wenn die Zuordnung leer ist.
V put(K-Taste, V-Wert)Es fügt den angegebenen Wert mit dem angegebenen Schlüssel in die Karte ein.
void putAll(Map Karte)Es wird verwendet, um alle Schlüssel-Wert-Paare von einer Karte auf eine andere Karte zu kopieren.
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.
NavigableMap subMap(K fromKey, boolean fromInclusive, K toKey, boolean toInclusive)Es werden Schlüssel-Wert-Paare zurückgegeben, deren Schlüssel von fromKey bis toKey reichen.
SortedMap subMap(K fromKey, K toKey)Es werden Schlüssel-Wert-Paare zurückgegeben, deren Schlüssel von fromKey (inklusive) bis toKey (exklusiv) reichen.
SortedMap tailMap(K fromKey)Es werden Schlüssel-Wert-Paare zurückgegeben, deren Schlüssel größer oder gleich fromKey sind.
NavigableMap tailMap(K fromKey, boolean inklusive)Es werden Schlüssel-Wert-Paare zurückgegeben, deren Schlüssel größer als (oder gleich, wenn inklusive wahr ist) fromKey sind.
boolescher Wert enthältSchlüssel(Objektschlüssel)Es gibt „true“ zurück, wenn die Karte eine Zuordnung für den angegebenen Schlüssel enthält.
boolescher Wert enthältWert(Objektwert)Es gibt „true“ zurück, wenn die Karte einen oder mehrere Schlüssel dem angegebenen Wert zuordnet.
K firstKey()Es wird verwendet, um den ersten (niedrigsten) Schlüssel zurückzugeben, der sich derzeit in dieser sortierten Karte befindet.
V get(Objektschlüssel)Es wird verwendet, um den Wert zurückzugeben, dem die Karte den angegebenen Schlüssel zuordnet.
K lastKey()Es wird verwendet, um den letzten (höchsten) Schlüssel zurückzugeben, der sich derzeit in der sortierten Karte befindet.
V entfernen(Objektschlüssel)Es entfernt das Schlüssel-Wert-Paar des angegebenen Schlüssels aus der Karte.
SatzEintragSet()Es gibt eine festgelegte Ansicht der in der Karte enthaltenen Zuordnungen zurück.
int size()Es gibt die Anzahl der Schlüssel-Wert-Paare zurück, die in der Hashtabelle vorhanden sind.
Sammlungswerte()Es gibt eine Sammlungsansicht der in der Karte enthaltenen Werte zurück.

Java TreeMap-Beispiel

 import java.util.*; class TreeMap1{ public static void main(String args[]){ TreeMap map=new TreeMap(); map.put(100,'Amit'); map.put(102,'Ravi'); map.put(101,'Vijay'); map.put(103,'Rahul'); for(Map.Entry m:map.entrySet()){ System.out.println(m.getKey()+' '+m.getValue()); } } } 
 Output:100 Amit 101 Vijay 102 Ravi 103 Rahul 

Java TreeMap-Beispiel: remove()

 import java.util.*; public class TreeMap2 { public static void main(String args[]) { TreeMap map=new TreeMap(); map.put(100,'Amit'); map.put(102,'Ravi'); map.put(101,'Vijay'); map.put(103,'Rahul'); System.out.println('Before invoking remove() method'); for(Map.Entry m:map.entrySet()) { System.out.println(m.getKey()+' '+m.getValue()); } map.remove(102); System.out.println('After invoking remove() method'); for(Map.Entry m:map.entrySet()) { System.out.println(m.getKey()+' '+m.getValue()); } } } 

Ausgabe:

Typoskript-foreach-Schleife
 Before invoking remove() method 100 Amit 101 Vijay 102 Ravi 103 Rahul After invoking remove() method 100 Amit 101 Vijay 103 Rahul 

Java TreeMap-Beispiel: NavigableMap

 import java.util.*; class TreeMap3{ public static void main(String args[]){ NavigableMap map=new TreeMap(); map.put(100,'Amit'); map.put(102,'Ravi'); map.put(101,'Vijay'); map.put(103,'Rahul'); //Maintains descending order System.out.println('descendingMap: '+map.descendingMap()); //Returns key-value pairs whose keys are less than or equal to the specified key. System.out.println('headMap: '+map.headMap(102,true)); //Returns key-value pairs whose keys are greater than or equal to the specified key. System.out.println('tailMap: '+map.tailMap(102,true)); //Returns key-value pairs exists in between the specified key. System.out.println('subMap: '+map.subMap(100, false, 102, true)); } } 
 descendingMap: {103=Rahul, 102=Ravi, 101=Vijay, 100=Amit} headMap: {100=Amit, 101=Vijay, 102=Ravi} tailMap: {102=Ravi, 103=Rahul} subMap: {101=Vijay, 102=Ravi} 

Java TreeMap-Beispiel: SortedMap

 import java.util.*; class TreeMap4{ public static void main(String args[]){ SortedMap map=new TreeMap(); map.put(100,'Amit'); map.put(102,'Ravi'); map.put(101,'Vijay'); map.put(103,'Rahul'); //Returns key-value pairs whose keys are less than the specified key. System.out.println('headMap: '+map.headMap(102)); //Returns key-value pairs whose keys are greater than or equal to the specified key. System.out.println('tailMap: '+map.tailMap(102)); //Returns key-value pairs exists in between the specified key. System.out.println('subMap: '+map.subMap(100, 102)); } } 
 headMap: {100=Amit, 101=Vijay} tailMap: {102=Ravi, 103=Rahul} subMap: {100=Amit, 101=Vijay} 

Was ist der Unterschied zwischen HashMap und TreeMap?

HashMapTreeMap
1) HashMap kann einen Nullschlüssel enthalten.TreeMap darf keinen Nullschlüssel enthalten.
2) HashMap behält keine Reihenfolge bei.TreeMap behält die aufsteigende Reihenfolge bei.

Java TreeMap-Beispiel: Buch

 import java.util.*; class Book { int id; String name,author,publisher; int quantity; public Book(int id, String name, String author, String publisher, int quantity) { this.id = id; this.name = name; this.author = author; this.publisher = publisher; this.quantity = quantity; } } public class MapExample { public static void main(String[] args) { //Creating map of Books Map map=new TreeMap(); //Creating Books Book b1=new Book(101,'Let us C','Yashwant Kanetkar','BPB',8); Book b2=new Book(102,'Data Communications & Networking','Forouzan','Mc Graw Hill',4); Book b3=new Book(103,'Operating System','Galvin','Wiley',6); //Adding Books to map map.put(2,b2); map.put(1,b1); map.put(3,b3); //Traversing map for(Map.Entry entry:map.entrySet()){ int key=entry.getKey(); Book b=entry.getValue(); System.out.println(key+' Details:'); System.out.println(b.id+' '+b.name+' '+b.author+' '+b.publisher+' '+b.quantity); } } } 

Ausgabe:

 1 Details: 101 Let us C Yashwant Kanetkar BPB 8 2 Details: 102 Data Communications & Networking Forouzan Mc Graw Hill 4 3 Details: 103 Operating System Galvin Wiley 6