Diferența cheie - TreeSet vs HashSet
Majoritatea limbajelor de programare acceptă matrice. Este o structură de date care este utilizată pentru a stoca mai multe elemente de același tip de date. Dacă există o matrice declarată pentru șase elemente, atunci nu poate fi utilizată pentru a stoca zece elemente. Prin urmare, matricile nu sunt dinamice și nu pot modifica dimensiunea matricei după ce este declarată. Limbaje de programare, cum ar fi Java, acceptă colecții care sunt utilizate pentru a stoca date dinamic. Colecțiile acceptă operațiuni precum adăugarea de elemente și ștergerea de elemente. Există o serie de interfețe și clase în ierarhia colecției. Interfața de bază este interfața Colecție. Set este o interfață care extinde interfața Colecție. Nu permite duplicarea. TreeSet și HashSet sunt două clase din ierarhia Colecției și ambele implementează interfața Set. TreeSet este o clasă care implementează interfața Set și este utilizată pentru a stoca elemente unice în ordine crescătoare. HashSet este o clasă care implementează interfața Set și este utilizată pentru a stoca elemente unice folosind mecanismul Hashing. Diferența cheie între TreeSet și HashSet este că TreeSet stochează elementele în ordine crescătoare, în timp ce HashSet nu stochează elementele în ordine crescătoare. Atât TreeSet, cât și HashSet stochează doar elemente unice.
CUPRINS
1. Prezentare generală și diferența cheie
2. Ce este un TreeSet
3. Ce este un HashSet
4. Asemănări între TreeSet și HashSet
5. Comparație side by side - TreeSet vs HashSet în formă tabelară
6. Rezumat
Ce este un TreeSet?
Clasa TreeSet implementează interfața NavigableSet. Interfața NavigableSet extinde interfețele SortedSet, Set, Collection și Iterable în ordine ierarhică. TreeSet menține întotdeauna ordinea ascendentă. Dacă elementele au fost inserate în ordinea B, A, C, acestea vor fi stocate ca A, B, C. Metodele precum add (), remove () pot fi utilizate cu obiectul TreeSet. Metoda add poate fi utilizată pentru a adăuga un element. Metoda de eliminare este utilizată pentru a elimina un element din colecție. Acestea sunt câteva metode care pot fi utilizate cu TreeSet.
Figura 01: Program cu TreeSet
Conform programului de mai sus, este creat un obiect de tip TreeSet. Elementele de date șir sunt adăugate la acel obiect folosind metoda add. Ordinea inserată a datelor este A, D, A, B, C, D. Folosind iteratorul, valorile stocate sunt tipărite pe ecran. Ieșirea este A, B, C, D. Chiar dacă există două litere A și două litere D, ieșirea afișează una A și una D fiecare. Prin urmare, TreeSet stochează elemente unice. Nu există o anumită ordine de inserare, dar atunci când observați ieșirea, se poate vedea că TreeSet menține ordinea ascendentă a elementelor.
Ce este un HashSet?
Clasa HashSet extinde clasa AbstractSet care implementează Set Interface. Interfața Set moștenește interfețele Colecție și Iterabile în ordine ierarhică. În HashSet, nu există nicio garanție că elementele vor menține ordinea crescătoare și ordinea inserată. Dacă ordinea inserată a fost A, B, C, atunci valorile ar putea fi stocate ca C, A, B. Ordinea de stocare poate fi și A, B, C, dar nu există nicio garanție că ordinea inserată sau ordinea crescătoare este menținută.
Figura 02: Program cu HashSet
Conform programului de mai sus, este creat un obiect de tip HashSet. Elementele de date șir sunt adăugate la acel obiect folosind metoda add. Ordinea inserată a datelor este L, R, M, M, R, L. Folosind iteratorul, valorile stocate sunt tipărite pe ecran. Ieșirea este RL M. Chiar dacă există două litere L, R și M din fiecare, este afișată doar o literă din fiecare. Prin urmare, HashSet stochează elemente unice. La observarea ieșirii, se poate observa că nu există o ordine crescătoare sau ordinea inserată este menținută.
Care sunt asemănările dintre TreeSet și HashSet?
- Atât TreeSet cât și HashSet sunt clase care aparțin ierarhiei colecției.
- Atât TreeSet, cât și HashSet stochează doar elemente unice.
- Atât TreeSet, cât și HashSet pot fi utilizate pentru a stoca și manipula multe elemente.
- Atât TreeSet, cât și HashSet nu mențin ordinea inserată.
Care este diferența dintre TreeSet și HashSet?
Difuzarea articolului din mijloc înainte de tabel
TreeSet vs HashSet |
|
TreeSet este o clasă din ierarhia colecției care este utilizată pentru a stoca elemente unice în ordine crescătoare. | HashSet este o clasă din ierarhia colecției care este utilizată pentru a stoca elemente unice folosind mecanismul Hashing. |
Depozitarea elementelor | |
TreeSet stochează elementele în ordine crescătoare. | HashSet nu stochează elementele în ordine crescătoare. |
Rezumat - TreeSet vs HashSet
În programare, este necesar să se stocheze dinamic elementele de date. Limbaje de programare, cum ar fi Java, acceptă Colecții pentru a realiza această sarcină. Există o serie de interfețe și clase în ierarhia colecției. TreeSet și HashSet sunt două clase din ierarhia Colecției. Ambele implementează interfața Set. TreeSet este o clasă care implementează interfața Set și este utilizată pentru a stoca elemente unice în ordine crescătoare. HashSet este o clasă care implementează interfața Set și este utilizată pentru a stoca elemente unice folosind mecanismul Hashing. Diferența dintre TreeSet și HashSet este că TreeSet stochează elementele în ordine crescătoare, în timp ce HashSet nu stochează elementele în ordine crescătoare. Acest articol a discutat despre diferența dintre TreeSet și HashSet.