logo

Klasa Java TreeMap

Hierarchia klas Java TreeMap

Klasa Java TreeMap jest implementacją opartą na czerwono-czarnym drzewie. Zapewnia skuteczny sposób przechowywania par klucz-wartość w posortowanej kolejności.

Ważne punkty dotyczące klasy Java TreeMap to:

  • Java TreeMap zawiera wartości oparte na kluczu. Implementuje interfejs NavigableMap i rozszerza klasę AbstractMap.
  • Java TreeMap zawiera tylko unikalne elementy.
  • Java TreeMap nie może mieć klucza zerowego, ale może mieć wiele wartości null.
  • Java TreeMap nie jest zsynchronizowana.
  • Java TreeMap utrzymuje porządek rosnący.

Deklaracja klasy TreeMap

Zobaczmy deklarację klasy java.util.TreeMap.

uczenie maszynowe i typy
 public class TreeMap extends AbstractMap implements NavigableMap, Cloneable, Serializable 

Parametry klasy TreeMap

Zobaczmy parametry klasy java.util.TreeMap.

    K: Jest to typ kluczy obsługiwanych przez tę mapę.W: Jest to typ mapowanych wartości.

Konstruktory klasy Java TreeMap

KonstruktorOpis
Mapa Drzewa()Służy do konstruowania pustej mapy drzewa, która będzie posortowana według naturalnej kolejności jej klucza.
TreeMap (komparator komparatora)Służy do konstruowania pustej mapy opartej na drzewie, która będzie sortowana za pomocą komparatora comp.
Mapa drzewa (mapa m)Służy do inicjowania mapy drzewa z wpisami z M , które zostaną posortowane według naturalnej kolejności kluczy.
Mapa drzewa (posortowana mapa m)Służy do inicjowania mapy drzewa wpisami z SortedMap sm , które zostaną posortowane w tej samej kolejności co sm.

Metody klasy Java TreeMap

metodaOpis
Mapa. ​​Wejście do sufitu Wejście (klawisz K)Zwraca parę klucz-wartość zawierającą najmniejszy klucz, większy lub równy określonemu kluczowi, lub null, jeśli taki klucz nie istnieje.
Klawisz sufitowy K (klawisz K)Zwraca najmniejszy klucz, większy niż określony klucz lub null, jeśli taki klucz nie istnieje.
puste jasne()Usuwa wszystkie pary klucz-wartość z mapy.
Klon obiektu()Zwraca płytką kopię instancji TreeMap.
Komparator komparator()Zwraca komparator, który porządkuje klucze, lub wartość null, jeśli mapa wykorzystuje porządek naturalny.
NavigableSet malejącoKeySet()Zwraca widok NavigableSet w odwrotnej kolejności dla kluczy zawartych na mapie.
NavigableMap malejącoMap()Zwraca określone pary klucz-wartość w kolejności malejącej.
Mapa.Wpis pierwszyEntry()Zwraca parę klucz-wartość mającą najmniejszy klucz.
Mapa. ​​Wejście na piętro Wejście (klawisz K)Zwraca największy klucz, mniejszy lub równy określonemu kluczowi, lub null, jeśli taki klucz nie istnieje.
void forEach (akcja BiConsumer)Wykonuje daną akcję dla każdego wpisu na mapie, dopóki wszystkie wpisy nie zostaną przetworzone lub akcja nie zgłosi wyjątku.
SortedMap headMap(K toKey)Zwraca pary klucz-wartość, których kluczy jest mniej niż toKey.
NavigableMap headMap(K toKey, wartość logiczna włącznie)Zwraca pary klucz-wartość, których klucze są mniejsze niż (lub równe, jeśli inkluzja ma wartość true) toKey.
Mapa. ​​Wejście wyższe wejście (klawisz K)Zwraca najmniejszy klucz ściśle większy od podanego klucza lub null, jeśli takiego klucza nie ma.
K wyższy klucz (klawisz K)Służy do zwracania prawdy, jeśli ta mapa zawiera mapowanie dla określonego klucza.
Ustaw zestaw kluczy()Zwraca kolekcję kluczy istniejącą na mapie.
Mapa.Wpis lastEntry()Zwraca parę klucz-wartość mającą największy klucz lub wartość null, jeśli taki klucz nie istnieje.
Mapa. ​​Wejście dolne wejście (klawisz K)Zwraca mapowanie klucz-wartość powiązane z największym kluczem, ściśle mniejsze od podanego klucza lub null, jeśli taki klucz nie istnieje.
K dolny klawisz (klawisz K)Zwraca największy klucz dokładnie mniejszy od podanego klucza lub null, jeśli takiego klucza nie ma.
NavigableSet navigableKeySet()Zwraca widok NavigableSet kluczy zawartych na tej mapie.
Mapa.Entry pollFirstEntry()Usuwa i zwraca mapowanie klucz-wartość powiązane z najmniejszym kluczem na tej mapie lub null, jeśli mapa jest pusta.
Mapa.Wejście pollLastEntry()Usuwa i zwraca mapowanie klucz-wartość powiązane z największym kluczem na tej mapie lub wartość null, jeśli mapa jest pusta.
V put (klawisz K, wartość V)Wstawia określoną wartość z określonym kluczem na mapie.
void putAll (mapa mapy)Służy do kopiowania całej pary klucz-wartość z jednej mapy na inną.
Zamień V (klawisz K, wartość V)Zastępuje określoną wartość dla określonego klucza.
zamiana logiczna (klawisz K, V stara wartość, V nowa wartość)Zastępuje starą wartość nową wartością dla określonego klucza.
nieważne zamień wszystko (funkcja BiFunction)Zastępuje wartość każdego wpisu wynikiem wywołania danej funkcji dla tego wpisu, dopóki wszystkie wpisy nie zostaną przetworzone lub funkcja nie zgłosi wyjątku.
NavigableMap subMap(K fromKey, wartość logiczna zInclusive, K toKey, wartość logiczna toInclusive)Zwraca pary klucz-wartość, których klucze mieszczą się w zakresie od fromKey do toKey.
SortedMap subMap(K z klucza, K z klucza)Zwraca pary klucz-wartość, których klucze mieszczą się w zakresie od fromKey (włącznie) do toKey (wyłącznie).
SortedMap tailMap(K z klucza)Zwraca pary klucz-wartość, których klucze są większe lub równe fromKey.
NavigableMap tailMap(K z klucza, wartość logiczna włącznie)Zwraca pary klucz-wartość, których klucze są większe (lub równe, jeśli opcja inclusive ma wartość true) odKey.
wartość logiczna zawiera klucz (klucz obiektu)Zwraca wartość true, jeśli mapa zawiera mapowanie dla określonego klucza.
wartość logiczna zawiera wartość (wartość obiektu)Zwraca wartość true, jeśli mapa odwzorowuje jeden lub więcej kluczy na określoną wartość.
K pierwszyKlucz()Służy do zwrócenia pierwszego (najniższego) klucza aktualnie na tej posortowanej mapie.
V get (klucz obiektu)Służy do zwracania wartości, na którą mapa odwzorowuje określony klucz.
K ostatniKlucz()Służy do zwrócenia ostatniego (najwyższego) klucza aktualnie znajdującego się na posortowanej mapie.
V usuń (klucz obiektu)Usuwa parę klucz-wartość określonego klucza z mapy.
Ustawićzestaw wpisów()Zwraca ustawiony widok mapowań zawartych na mapie.
rozmiar całkowity()Zwraca liczbę par klucz-wartość istniejących w tablicy mieszającej.
Wartości kolekcji()Zwraca widok kolekcji wartości zawartych na mapie.

Przykład mapy drzewa Java

 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 

Przykład mapy Java TreeMap: usuń()

 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()); } } } 

Wyjście:

1 miliard do miliona
 Before invoking remove() method 100 Amit 101 Vijay 102 Ravi 103 Rahul After invoking remove() method 100 Amit 101 Vijay 103 Rahul 

Przykład mapy Java TreeMap: 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} 

Przykład mapy drzewa Java: 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} 

Jaka jest różnica między HashMap a TreeMap?

HashMapaMapa Drzewa
1) HashMap może zawierać jeden klucz zerowy.TreeMap nie może zawierać żadnego klucza zerowego.
2) HashMap nie utrzymuje porządku.TreeMap utrzymuje porządek rosnący.

Przykład mapy Java TreeMap: Książka

 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); } } } 

Wyjście:

 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