Diferența dintre TreeSet și HashSet

Cuprins:

Diferența dintre TreeSet și HashSet
Diferența dintre TreeSet și HashSet

Video: Diferența dintre TreeSet și HashSet

Video: Diferența dintre TreeSet și HashSet
Video: Difference Between HashSet, LinkedHashSet and TreeSet | Core Java Interview question 2024, Iulie
Anonim

Diferența cheie – TreeSet vs HashSet

Majoritatea limbajelor de programare acceptă Arrays. 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 folosită pentru a stoca zece elemente. Prin urmare, matricele nu sunt dinamice și nu pot modifica dimensiunea matricei odată ce aceasta este declarată. Limbajele de programare, cum ar fi Java, acceptă colecții care sunt utilizate pentru stocarea dinamică a datelor. Colecțiile suportă operațiuni precum adăugarea și ștergerea elementelor. Există o serie de interfețe și clase în ierarhia colecțiilor. Interfața de bază este interfața Collection. Set este o interfață care extinde interfața Collection. Nu permite duplicarea. TreeSet și HashSet sunt două clase în ierarhia Colecție și ambele implementează interfața Set. TreeSet este o clasă care implementează interfața Set și este folosită pentru a stoca elemente unice în ordine crescătoare. HashSet este o clasă care implementează interfața Set și este folosită pentru a stoca elemente unice folosind mecanismul Hashing. Diferența cheie dintre 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.

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 crescătoare. Dacă elementele au fost introduse în ordinea B, A, C, acestea vor fi stocate ca A, B, C. Metodele precum add (), remove () pot fi utilizate cu obiectul TreeSet. Metoda de adăugare poate fi folosită pentru a adăuga un element. Metoda de eliminare este folosită pentru a elimina un element din colecție. Acestea sunt câteva metode care pot fi folosite cu TreeSet.

Diferența dintre TreeSet și HashSet
Diferența dintre TreeSet și HashSet

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 datelor introduse este A, D, A, B, C, D. Folosind iteratorul, valorile stocate sunt imprimate pe ecran. Ieșirea este A, B, C, D. Chiar dacă există două litere A și două litere D, rezultatul afișează unul A și unul D fiecare. Prin urmare, TreeSet stochează elemente unice. Nu există o anumită ordine de inserare, dar la observarea ieșirii, se poate observa că TreeSet menține ordinea crescătoare a elementelor.

Ce este un HashSet?

Clasa HashSet extinde clasa AbstractSet care implementează Set Interface. Interfața Set moștenește interfețele Collection și Iterable î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 s-ar putea stoca 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ă.

Diferența cheie între TreeSet și HashSet
Diferența cheie între TreeSet și HashSet

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 de inserare a datelor este L, R, M, M, R, L. Folosind iteratorul, valorile stocate sunt imprimate pe ecran. Ieșirea este R L 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 introdusă este menținută.

Care sunt asemănările dintre TreeSet și HashSet?

  • Atât TreeSet, cât și HashSet sunt clase aparțin ierarhiei colecțiilor.
  • 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 colecțiilor care este folosită pentru a stoca elemente unice în ordine crescătoare. HashSet este o clasă din ierarhia colecțiilor care este folosită pentru a stoca elemente unice folosind mecanismul Hashing.
Stocare elemente
TreeSet stochează elementele în ordine crescătoare. HashSet nu stochează elementele în ordine crescătoare.

Rezumat – TreeSet vs HashSet

În programare, este necesar să stocați elementele de date în mod dinamic. Limbajele de programare precum Java acceptă Colecții pentru a realiza această sarcină. Există o serie de interfețe și clase în ierarhia colecțiilor. 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 folosită pentru a stoca elemente unice în ordine crescătoare. HashSet este o clasă care implementează interfața Set și este folosită 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.

Recomandat: