Diferența dintre TreeSet și HashSet

Diferența cheie - TreeSet vs HashSet
 

Majoritatea limbajelor de programare suportă Arrays. Este o structură de date care este utilizată pentru a stoca mai multe elemente ale aceluiași tip de date. Dacă există un șir de elemente declarate pentru șase elemente, atunci nu poate fi utilizat pentru a stoca zece elemente. Prin urmare, matricele nu sunt dinamice și nu pot modifica dimensiunea matricei după ce este declarată. Limbile de programare, cum ar fi Java, acceptă colecții care sunt utilizate pentru stocarea dinamică a datelor. Colecțiile acceptă operații cum ar fi adăugarea elementelor și ștergerea elementelor. 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 Collection. Nu permite dublarea. TreeSet și HashSet sunt două clase în 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 ascendentă. HashSet este o clasă care implementează interfața Set și este utilizată pentru a stoca elemente unice utilizând mecanismul Hashing. diferența cheie între TreeSet și HashSet este asta TreeSet stochează elementele în ordine ascendentă în timp ce HashSet nu stochează elementele în ordine ascendentă. Atât TreeSet cât și HashSet stochează numai elemente unice.

CUPRINS

1. Prezentare generală și diferență cheie
2. Ce este un TreeSet
3. Ce este un HashSet
4. Asemănări între TreeSet și HashSet
5. Comparație comparați între ele - TreeSet vs HashSet în formă tabulară
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 ordine B, A, C vor fi stocate ca A, B, C. Metodele precum add (), remove () pot fi utilizate cu obiectul TreeSet. Metoda de adăugare 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

În conformitate cu programul de mai sus, este creat un obiect de tip TreeSet. Elementele de date șir sunt adăugate obiectului utilizând metoda de adăugare. Ordinea de introducere a datelor este A, D, A, B, C, D. Folosind iteratorul, valorile memorate sunt imprimate pe ecran. Ieșirea este A, B, C, D. Chiar dacă există două litere A și două litere D, ieșirea afișează unul A și unul D fiecare. Prin urmare, TreeSet stochează elemente unice. Nu există un ordin special de inserare, dar atunci când observăm ieșirea, se poate observa că TreeSet menține ordinea ascendentă a elementelor.

Ce este un HashSet?

Clasa HashSet extinde clasa AbstractSet care implementează Set Interface. Interfața Set încredințează interfețele Collection și Iterable în ordine ierarhică. În HashSet, nu există nici o garanție că elementele vor menține ordinea ascendentă și ordinea inserată. Dacă ordinea introdusă a fost A, B, C, atunci valorile pot fi stocate ca C, A, B. Ordinea de stocare poate fi, de asemenea, A, B, C dar nu există nici o garanție că ordinul introdus sau ordinea ascendentă 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 obiectului utilizând metoda de adăugare. Ordinea datelor introduse este L, R, M, M, R, L. Folosind iteratorul, valorile memorate sunt imprimate pe ecran. Ieșirea este R L M. Chiar dacă există două litere L, R și M din fiecare, este afișată o singură literă din fiecare. Prin urmare, HashSet stochează elemente unice. Când se observă ieșirea, se poate observa că nu există o ordine ascendentă sau dacă ordinul 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 de colectare.
  • Atât TreeSet cât și HashSet stochează numai elemente unice.
  • Atât TreeSet cât și HashSet pot fi folosite 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?

TreeSet vs HashSet

TreeSet este o clasă din ierarhia de colectare care este utilizată pentru a stoca elemente unice în ordine ascendentă. HashSet este o clasă din ierarhia de colectare utilizată pentru stocarea elementelor unice utilizând mecanismul Hashing.
 Stocarea elementelor
TreeSet stochează elementele în ordine ascendentă. HashSet nu stochează elementele în ordine ascendentă.

Rezumat - TreeSet vs HashSet

În programare, este necesară stocarea dinamică a elementelor de date. Limbile de programare, cum ar fi Java, suportă colecțiile pentru a realiza această sarcină. Există o serie de interfețe și clase în ierarhia colecției. TreeSet și HashSet sunt două clase în 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 ascendentă. HashSet este o clasă care implementează interfața Set și este utilizată pentru a stoca elemente unice utilizând mecanismul Hashing. Diferența dintre TreeSet și HashSet este că TreeSet stochează elementele în ordine ascendentă în timp ce HashSet nu stochează elementele în ordine ascendentă. Acest articol a discutat diferența dintre TreeSet și HashSet.

Referinţă:

1. "TreeSet în Java - javatpoint". JavaPoint. Disponibil aici
2. "HashSet în Java - javatpoint". JavaPoint  Disponibil aici