Diferența cheie – HashMap vs TreeMap
În programare, există diverse mecanisme de colectare a datelor. Colecțiile sunt o metodă de stocare a datelor. Limbajele de programare precum Java folosesc Colecții. Este un cadru cu clase și interfețe pentru stocarea și manipularea unui set de elemente de date. Într-o matrice normală, există un număr fix de elemente de stocat. Aceasta este o limitare a matricelor. În schimb, programatorul poate folosi colecții. Operațiuni precum inserarea, ștergerea, sortarea și căutarea pot fi efectuate folosind colecții. În Java, interfața Map aparține colecțiilor. Harta este folosită pentru a reprezenta datele în perechi cheie, valoare. Există doar chei unice și fiecare are o valoare corespunzătoare. HashMap și TreeMap sunt clase care implementează interfața Map. Un HashMap este o clasă de colectare bazată pe hartă care este utilizată pentru stocarea perechilor cheie și valoare care nu mențin o anumită ordine în elementele de date. Un TreeMap este o clasă de colectare bazată pe hărți care este utilizată pentru stocarea perechilor cheie și valoare care mențin ordinea crescătoare a elementelor de date. Diferența cheie dintre HashMap și TreeMap este că HashMap nu menține o anumită ordine în elementele de date, în timp ce TreeMap menține ordinea crescătoare a elementelor de date.
Ce este HashMap?
HashMap este o clasă care implementează interfața hărții. Extinde clasa AbstractMap și implementează interfața Map. Un HashMap conține perechi cheie și valoare. Fiecare element este unic. Este ușor să găsiți elementele în HashMap folosind cheia. Declararea unei hărți Hash este următoarea.
clasa publică HashMap extinde AbstractMap implementează Map, Cloneable, Serializable
K se referă la cheie, în timp ce V se referă la valoarea corespunzătoare acelei chei specifice. Fiecare pereche cheie, valoare este o intrare a HashMap.
Figura 01: Interfața hărții
Presumați un scenariu după cum urmează pentru a înțelege HaspMap. Dacă acolo programatorul dorește să stocheze un set de nume de elevi și numere de index corespunzătoare, el poate folosi HashMap. Numele elevilor sunt folosite pentru a găsi numerele de index. Prin urmare, numele elevilor sunt cheile, în timp ce numerele index sunt valorile.
Figura 02: Programul HashMap folosind Java
Conform programului de mai sus, este creat un obiect HashMap. Apoi programatorul poate adăuga elemente folosind acel obiect. Valorile pot fi introduse folosind metoda put. Pentru a prelua valorile, programatorul ar trebui să folosească metoda get cu cheia. Când utilizați studentList.get(“150”); va tipări numele corespunzător acelui index care este Ann. Dacă programatorul dorește să obțină toate valorile, atunci poate folosi Map. Entry pentru a imprima toate cheile și valorile. La observarea rezultatului, se poate observa că HashMap nu menține o anumită ordine. Nu imprimă elementele în ordinea introdusă. Elementele sunt imprimate într-o ordine aleatorie.
Ce este TreeMap?
The TreeMap este o clasă în Java care implementează interfața Map. Similar cu un HashMap, este folosit și pentru stocarea perechilor cheie și valoare, dar în ordine crescătoare. TreeMap implementează NavigableMap și NavigableMap extinde SortedMap și SortedMap extinde Map. Fiecare element este unic. Declararea unui TreeMap este după cum urmează.
clasa publică TreeMap extinde AbstractMap implementează NavigableMap, Cloneable, Serializable
K se referă la cheie, în timp ce V se referă la valoarea corespunzătoare acelei chei specifice. Fiecare pereche cheie, valoare este o intrare din Harta arborelui.
Figura 03: Programul TreeMap folosind Java
Conform programului de mai sus, este creat un obiect TreeMap. Apoi programatorul poate adăuga elemente folosind acel obiect. Valorile pot fi introduse folosind metoda put. Pentru a prelua valorile, programatorul ar trebui să folosească metoda get cu cheia. Când utilizați studentList.get(“150”); va tipări numele corespunzător acelui index care este Ann. Dacă programatorul dorește să obțină toate valorile, atunci poate folosi Map. Entry pentru a imprima toate cheile și valorile. Când se observă rezultatul, se poate observa că TreeMap menține o anumită ordine. Elementele sunt imprimate în ordine crescătoare.
Care sunt asemănările dintre HashMap și TreeMap?
- Atât HashMap, cât și TreeMap implementează interfața Map.
- Atât HashMap, cât și TreeMap pot stoca și manipula multe elemente.
- Atât HashMap, cât și TreeMap conțin perechi cheie, valoare.
- Atât HashMap, cât și TreeMap pot avea multe valori nule.
- Nu există nicio limitare a numărului de elemente care pot fi stocate atât în HashMap, cât și în TreeMap.
Care este diferența dintre HashMap și TreeMap?
HashMap vs TreeMap |
|
A HashMap este o clasă de colectare bazată pe hărți care este utilizată pentru stocarea perechilor cheie și valoare care nu mențin o anumită ordine în elementele de date. | A TreeMap este o clasă de colectare bazată pe hărți care este utilizată pentru stocarea perechilor cheie și valoare care menține ordinea crescătoare a elementelor de date. |
Comanda | |
HashMap nu menține ordinea. | Harta arborelui menține ordinea crescătoare. |
Tasta nulă | |
HashMap poate conține o cheie nulă. | Harta arborelui nu poate avea o cheie nulă. |
Performanță | |
HashMap este mai rapid decât TreeMap. | TreeMap este mai lent decât HashMap. |
Rezumat – HashMap vs TreeMap
Limbajele de programare precum Java conțin cadrul de colecție. În matrice, poate exista un număr fix de elemente. Prin urmare, dimensiunea matricei ar trebui să fie inițializată la început. În colecții, programatorul poate stoca multe elemente după cum este necesar. Nu există o cantitate specifică de depozitat. Harta este o interfață care aparține cadrului de colectare. Un HashMap este o clasă de colectare bazată pe hărți care este utilizată pentru stocarea perechilor cheie și valoare care nu mențin o anumită ordine în elementele de date. Un TreeMap este o clasă de colectare bazată pe hărți care este utilizată pentru stocarea perechilor cheie și valoare care menține ordinea crescătoare a elementelor de date. Acest articol a discutat diferența dintre HashMap și TreeMap care implementează interfața Map. Diferența dintre HashMap și TreeMap este că HashMap nu menține o anumită ordine în elementele de date, în timp ce TreeMap menține ordinea crescătoare a elementelor de date.