logo

Clasa Java TreeMap

Ierarhia claselor Java TreeMap

Clasa Java TreeMap este o implementare bazată pe arbore roșu-negru. Oferă un mijloc eficient de stocare a perechilor cheie-valoare în ordine sortată.

Punctele importante despre clasa Java TreeMap sunt:

  • Java TreeMap conține valori bazate pe cheie. Implementează interfața NavigableMap și extinde clasa AbstractMap.
  • Java TreeMap conține doar elemente unice.
  • Java TreeMap nu poate avea o cheie nulă, dar poate avea mai multe valori nule.
  • Java TreeMap nu este sincronizat.
  • Java TreeMap menține ordinea crescătoare.

Declarație de clasă TreeMap

Să vedem declarația pentru clasa java.util.TreeMap.

np.unde
 public class TreeMap extends AbstractMap implements NavigableMap, Cloneable, Serializable 

Parametrii clasei TreeMap

Să vedem Parametrii pentru clasa java.util.TreeMap.

    K: Este tipul de chei menținute de această hartă.ÎN: este tipul de valori mapate.

Constructorii clasei Java TreeMap

ConstructorDescriere
Harta copac()Este folosit pentru a construi o hartă de arbore goală care va fi sortată folosind ordinea naturală a cheii sale.
TreeMap (comparator comparator)Este folosit pentru a construi o hartă goală bazată pe arbore care va fi sortată folosind comparatorul comp.
Harta copac(Harta m)Este folosit pentru a inițializa o hartă arborescentă cu intrările de la m , care vor fi sortate folosind ordinea naturală a tastelor.
Harta copac(Harta Sortată m)Este folosit pentru a inițializa o hartă arborescentă cu intrările din SortedMap sm , care vor fi sortate în aceeași ordine ca sm.

Metode ale clasei Java TreeMap

MetodăDescriere
Hartă.Intrare plafonIntrare (tasta K)Returnează perechea cheie-valoare care are cea mai mică cheie, mai mare sau egală cu cheia specificată sau nulă dacă nu există o astfel de cheie.
Tasta tavan K (tasta K)Returnează cea mai mică cheie, mai mare decât cheia specificată sau nulă dacă nu există o astfel de cheie.
void clear()Îndepărtează toate perechile cheie-valoare dintr-o hartă.
Clona obiect()Returnează o copie superficială a instanței TreeMap.
Comparator comparator()Returnează comparatorul care aranjează cheia în ordine, sau null dacă harta folosește ordinea naturală.
NavigableSet descendingKeySet()Acesta returnează o vizualizare NavigableSet în ordine inversă a tastelor conținute în hartă.
NavigabilHartă descendentăHartă()Returnează perechile cheie-valoare specificate în ordine descrescătoare.
Map.Entry firstEntry()Returnează perechea cheie-valoare care are cea mai mică cheie.
Hartă.Intrare etajIntrare (tasta K)Returnează cea mai mare cheie, mai mică sau egală cu cheia specificată, sau nulă dacă nu există o astfel de cheie.
void forEach (acțiune BiConsumer)Efectuează acțiunea dată pentru fiecare intrare din hartă până când toate intrările au fost procesate sau acțiunea aruncă o excepție.
SortedMap headMap (K toKey)Returnează perechile cheie-valoare ale căror chei sunt strict mai mici decât toKey.
NavigableMap headMap (K toKey, boolean inclusiv)Returnează perechile cheie-valoare ale căror chei sunt mai mici decât (sau egale cu dacă inclusiv este adevărat) la Cheie.
Hartă.Intrare mai mare Intrare (tasta K)Returnează cea mai mică cheie strict mai mare decât cheia dată, sau nulă dacă nu există o astfel de cheie.
Tasta K mai mare (tasta K)Este folosit pentru a returna true dacă această hartă conține o mapare pentru cheia specificată.
Setați keySet()Returnează colecția de chei existente pe hartă.
Hartă.Entry lastEntry()Returnează perechea cheie-valoare care are cea mai mare cheie sau nulă dacă nu există o astfel de cheie.
Hartă.Intrare de josIntrare (tasta K)Returnează o mapare cheie-valoare asociată cu cea mai mare cheie strict mai mică decât cheia dată sau nulă dacă nu există o astfel de cheie.
Tasta inferioară K (tasta K)Returnează cea mai mare cheie strict mai mică decât cheia dată, sau nulă dacă nu există o astfel de cheie.
NavigableSet navigableKeySet()Returnează o vizualizare NavigableSet a tastelor conținute în această hartă.
Map.Entry sondajFirstEntry()Îndepărtează și returnează o mapare cheie-valoare asociată cu cea mai mică cheie din această hartă sau nulă dacă harta este goală.
Map.Entry sondajLastEntry()Îndepărtează și returnează o mapare cheie-valoare asociată cu cea mai mare cheie din această hartă sau nulă dacă harta este goală.
V pune (tasta K, valoarea V)Inserează valoarea specificată cu cheia specificată în hartă.
void putAll (hartă pe hartă)Este folosit pentru a copia toată perechea cheie-valoare de pe o hartă pe alta.
V înlocuiți (tasta K, valoarea V)Acesta înlocuiește valoarea specificată pentru o cheie specificată.
înlocuire booleană (cheia K, V oldValue, V newValue)Acesta înlocuiește vechea valoare cu noua valoare pentru o cheie specificată.
void replaceAll (funcția BiFunction)Acesta înlocuiește valoarea fiecărei intrări cu rezultatul invocării funcției date pe acea intrare până când toate intrările au fost procesate sau funcția aruncă o excepție.
SubHartă NavigabilMap (K de la cheie, boolean de la Inclusive, K toKey, boolean de la Inclus)Returnează perechi cheie-valoare ale căror chei variază de la cheie la cheie.
Subhartă SortedHart (K din cheie, K către cheie)Returnează perechi cheie-valoare ale căror chei variază de la fromKey, inclusiv, până la toKey, exclusiv.
SortedMap tailMap (K din cheie)Returnează perechi cheie-valoare ale căror chei sunt mai mari sau egale cu fromKey.
NavigableMap tailMap (K dinKey, boolean inclusiv)Returnează perechi cheie-valoare ale căror chei sunt mai mari decât (sau egale cu, dacă inclusiv este adevărat) din Cheie.
boolean containsKey (cheie obiect)Returnează true dacă harta conține o mapare pentru cheia specificată.
boolean containsValue(Valoare obiect)Returnează true dacă harta mapează una sau mai multe chei la valoarea specificată.
K prima cheie()Este folosit pentru a returna prima cheie (cea mai joasă) în prezent din această hartă sortată.
V get(cheie obiect)Este folosit pentru a returna valoarea la care harta mapează cheia specificată.
K ultima cheie()Este folosit pentru a returna ultima cheie (cea mai mare) aflată în prezent pe harta sortată.
V elimina (cheia obiect)Îndepărtează de pe hartă perechea cheie-valoare a cheii specificate.
A stabilitentrySet()Acesta returnează o vedere setată a mapărilor conținute în hartă.
dimensiune int()Returnează numărul de perechi cheie-valoare care există în tabelul hash.
Valori de colecție()Returnează o vizualizare de colecție a valorilor conținute în hartă.

Exemplu Java TreeMap

 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 

Exemplu Java TreeMap: 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()); } } } 

Ieșire:

numele orașului SUA
 Before invoking remove() method 100 Amit 101 Vijay 102 Ravi 103 Rahul After invoking remove() method 100 Amit 101 Vijay 103 Rahul 

Java TreeMap Exemplu: 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} 

Exemplu Java TreeMap: 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} 

Care este diferența dintre HashMap și TreeMap?

HashMapHarta copacului
1) HashMap poate conține o cheie nulă.TreeMap nu poate conține nicio cheie nulă.
2) HashMap nu menține nicio ordine.TreeMap menține ordinea crescătoare.

Exemplu Java TreeMap: carte

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

Ieșire:

 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