O scurtă introducere a TreeMap în Java cu exemple



Acest articol vă va oferi o cunoaștere detaliată și cuprinzătoare a TreeMap în Java, cu exemple de metode și constructori.

Implementarea unei interfețe Map în Java este o sarcină foarte importantă. În acest scop, avem TreeMap și HashMap . În acest articol, accentul nostru va fi pe TreeMap în în următoarea ordine:

Ce este un TreeMap în Java?

O TreeMap în Java este utilizată pentru a implementa interfața Map și NavigableMap împreună cu Clasa Abstract. Harta este sortată în funcție de ordonarea naturală a cheilor sale sau de un comparator furnizat la momentul creării hărții, în funcție de ce constructor este utilizat. Acest lucru se dovedește a fi un mod eficient de sortare și stocare a perechilor cheie-valoare.





TreeMap-in-JavaOrdinea de stocare menținută de harta arborelui trebuie să fie consecventă cu egali la fel ca orice altă hartă sortată, indiferent de comparatorii expliciți. Harta copaculuiimplementarea nu este sincronizată în sensul că, dacă o hartă este accesată de mai multe fire, simultan și cel puțin unul dintre fire modifică harta structural, aceasta trebuie sincronizată extern.

Caracteristicile TreeMaps

  • Această clasă este membră a Java Collections Framework.



  • Clasa implementează interfețe Map, inclusiv NavigableMap, SortedMap și extinde AbstractMap

  • TreeMap în Java nu permite tastele nule (cum ar fi Harta) și astfel se lansează o excepție NullPointerException. Cu toate acestea, mai multe valori nule pot fi asociate cu chei diferite.

    care este diferența dintre git și github
  • Toate perechile Map.Entry returnate prin metode din această clasă și vizualizările sale reprezintă instantanee ale mapărilor în momentul în care au fost produse.



  • Nu acceptă metoda Entry.setValue.

Puncte importante de reținut

  1. În afară de implementarea interfeței Map, Java TreeMap implementează și NavigableMap și implementează indirect interfața SortedMap. TreeMap extinde, de asemenea, clasa AbstractMap.

  2. Intrările TreeMap sunt sortate în ordinea naturală a cheilor sale. De asemenea, oferă un constructor pentru a oferi Comparator pentru a fi utilizat pentru comenzi. Deci, dacă utilizați orice clasă ca cheie, asigurați-vă că implementează o interfață comparabilă pentru comenzi naturale. Consultați întrebări despre interviurile despre colecțiile Java pentru a înțelege importanța acestor metode.

  3. Implementarea Java TreeMap oferă costuri de timp garantate pentru jurnal (n) pentru operațiunile de tip containKey, get, put și remove.

    java script pop-up mesaj
  4. TreeMap nu este sincronizat și, prin urmare, nu este sigur pentru fire. Pentru medii cu mai multe fire, puteți obține o sincronizare împachetată utilizând metoda Collections.synchronizedSortedMap.

  5. Metodele TreeMap pentru a obține setul de chei și valorile returnează un Iterator care are o eroare rapidă, astfel încât orice modificare concurentă va arunca ConcurrentModificationException

  6. TreeMap în java nu permite cheile nule, cu toate acestea, puteți avea mai multe valori nule asociate cu chei diferite.

Constructori în TreeMap

Constructor Descriere
TreeMap () Construiește o hartă de copert goală care va fi sortată folosind ordinea naturală a cheilor sale.
TreeMap (Comp. Comparator) Construiește o hartă goală bazată pe copac care va fi sortată folosind comp. Comp.
TreeMap (Harta m) Initializeaza o harta de copac cu intrarile de la m, care vor fi sortate folosind ordinea naturala a tastelor.
TreeMap (SortedMap sm) Inițializează o hartă cu intrările din SortedMap sm, care vor fi sortate în aceeași ordine ca sm.

Metode în TreeMap

Metodă Descriere
gol clar () Elimină toate mapările din acest TreeMap.
Clonare obiect () Returnează o copie superficială a acestei instanțe TreeMap.
Comparator comparator() Returnează comparatorul folosit pentru a comanda această hartă sau nul dacă această hartă folosește ordinea naturală a cheilor sale.
boolean conține Key (cheie obiect) Returnează adevărat dacă această hartă conține o mapare pentru cheia specificată.
boolean conține Valoare (valoarea obiectului) Returnează adevărat dacă această hartă mapează una sau mai multe chei la valoarea specificată.
Set entrySet () Returnează o vedere setată a mapărilor conținute în această hartă.
Obiect firstKey () Returnează prima (cea mai mică) cheie aflată în prezent pe această hartă sortată.
Obținerea obiectului (cheia obiectului) Returnează valoarea la care această hartă mapează cheia specificată.
SortedMap headMap (Object toKey) Returnează o vizualizare a porțiunii acestei hărți ale cărei chei sunt strict mai mici decât toKey.
Set keySet () Returnează o vizualizare Set a tastelor conținute pe această hartă.
Obiect lastKey () Returnează ultima (cea mai mare) cheie aflată în prezent în această hartă sortată.
Obiect pus (cheie obiect, valoare obiect) Asociază valoarea specificată cu cheia specificată în această hartă.
void putAll (hartă hartă) Copiază toate mapările de pe harta specificată pe această hartă.
Eliminare obiect (cheie obiect) Înlătură maparea acestei chei din această TreeMap, dacă este prezentă.
int size () Returnează numărul de mapări cheie-valoare din această hartă.
SortedMap subMap (Obiect din Cheie, Obiect în Cheie) Returnează o vizualizare a porțiunii acestei hărți ale cărei taste variază de la Cheie, inclusiv, la Cheie, exclusiv.
SortedMap tailMap (obiect din cheie) Returnează o vizualizare a porțiunii acestei hărți ale cărei taste sunt mai mari sau egale cu de la Cheie.
Valorile colecției () Returnează o vedere de colecție a valorilor conținute în această hartă.

Exemplu de TreeMap în Java

import java.util.TreeMap public class TreeMapMain {public static void main (String args []) {// TreeMap cu Country ca cheie și capital ca valoare // TreeMap stochează elemente în ordonarea naturală a cheilor. TreeMap countryCapitalMap = new TreeMap () countryCapitalMap.put („India”, „Delhi”) countryCapitalMap.put („Japonia”, „Tokyo”) countryCapitalMap.put („Franța”, „Paris”) countryCapitalMap.put („Rusia”) , 'Moscova') System.out.println ('-----------------------------') // Iterarea TreeMap folosind keySet ( ) și pentru fiecare buclă System.out.println ('Iterarea TreeMap folosind keySet () și pentru fiecare buclă') pentru (String countryKey: countryCapitalMap.keySet ()) {System.out.println ('Țara:' + countryKey + ' și Capital: '+ countryCapitalMap.get (countryKey))} System.out.println (' ----------------------------- ' )}}

Ieșire:

Cu aceasta, ajungem la sfârșitul acestui articol TreeMap în Java. C uită-te la de Edureka, o companie de învățare online de încredere, cu o rețea de peste 250.000 de elevi mulțumiți răspândiți pe tot globul. Cursul de formare și certificare Java J2EE și SOA al Edureka este conceput pentru studenți și profesioniști care doresc să fie dezvoltator Java. Cursul este conceput pentru a vă oferi un început important în programarea Java și pentru a vă instrui atât pentru conceptele Java de bază, cât și pentru cele avansate, împreună cu diverse cadre Java, cum ar fi Hibernate & Spring

Ai o întrebare pentru noi? Vă rugăm să o menționați în secțiunea de comentarii a acestui blog „TreeMap in Java” și vă vom contacta cât mai curând posibil.

ce este metoda care se ascunde în java