TreeSet və HashSet Arasındakı Fərq

Mündəricat:

TreeSet və HashSet Arasındakı Fərq
TreeSet və HashSet Arasındakı Fərq

Video: TreeSet və HashSet Arasındakı Fərq

Video: TreeSet və HashSet Arasındakı Fərq
Video: Java Dərsləri - Javada Kolleksiyalar haqqında (Collections in Java) 2024, Noyabr
Anonim

Əsas Fərq – TreeSet vs HashSet

Əksər proqramlaşdırma dilləri Massivləri dəstəkləyir. Bu, eyni tipli bir çox elementi saxlamaq üçün istifadə edilən məlumat strukturudur. Altı element üçün elan edilmiş massiv varsa, on elementi saxlamaq üçün istifadə edilə bilməz. Buna görə də massivlər dinamik deyil və elan edildikdən sonra massivin ölçüsünü dəyişə bilməz. Java kimi proqramlaşdırma dilləri məlumatların dinamik şəkildə saxlanması üçün istifadə edilən Kolleksiyaları dəstəkləyir. Kolleksiyalar elementlərin əlavə edilməsi və elementlərin silinməsi kimi əməliyyatları dəstəkləyir. Kolleksiya iyerarxiyasında bir sıra interfeyslər və siniflər var. Əsas interfeys Kolleksiya interfeysidir. Set Kolleksiya interfeysini genişləndirən interfeysdir. Təkrarlanmasına imkan vermir. TreeSet və HashSet Kolleksiya iyerarxiyasında iki sinifdir və hər ikisi Set interfeysini həyata keçirir. TreeSet Set interfeysini həyata keçirən sinifdir və unikal elementləri artan qaydada saxlamaq üçün istifadə olunur. HashSet Set interfeysini həyata keçirən sinifdir və Hashing mexanizmindən istifadə edərək unikal elementləri saxlamaq üçün istifadə olunur. TreeSet və HashSet arasındakı əsas fərq odur ki, TreeSet elementləri artan qaydada saxlayır, HashSet isə elementləri artan qaydada saxlamır. Həm TreeSet, həm də HashSet yalnız unikal elementləri saxlayır.

TreeSet nədir?

TreeSet sinfi NavigableSet interfeysini həyata keçirir. NavigableSet interfeysi SortedSet, Set, Collection və Iterable interfeyslərini iyerarxik qaydada genişləndirir. TreeSet həmişə artan sıranı qoruyur. Elementlər B, A, C sırası ilə daxil edilibsə, onlar A, B, C kimi saxlanılacaq. Add (), remove () kimi üsullar TreeSet obyekti ilə istifadə oluna bilər. Əlavə üsulu element əlavə etmək üçün istifadə edilə bilər. Sil üsulu elementi kolleksiyadan silmək üçün istifadə olunur. Bunlar TreeSet ilə istifadə edilə bilən bəzi üsullardır.

TreeSet və HashSet arasındakı fərq
TreeSet və HashSet arasındakı fərq

Şəkil 01: TreeSet ilə proqram

Yuxarıda göstərilən proqrama uyğun olaraq TreeSet tipli obyekt yaradılır. Simli məlumat elementləri əlavə metodundan istifadə edərək həmin obyektə əlavə edilir. Daxil edilmiş məlumat sırası A, D, A, B, C, D. İteratordan istifadə edərək, saxlanılan dəyərlər ekrana çap olunur. Çıxış A, B, C, D-dir. Baxmayaraq ki, iki A hərfi və iki D hərfi olsa da, çıxışda hər biri bir A və bir D göstərilir. Beləliklə, TreeSet unikal elementləri saxlayır. Xüsusi daxiletmə sırası yoxdur, lakin çıxışı müşahidə edərkən TreeSet-in elementlərin artan sırasını qoruduğunu görmək olar.

HashSet nədir?

HashSet sinfi Set İnterfeysini həyata keçirən AbstractSet sinfini genişləndirir. Set interfeysi iyerarxik qaydada Kolleksiya və İterable interfeyslərini miras alır. HashSet-də elementlərin artan sıranı və daxil edilmiş sıranı qoruyacağına zəmanət yoxdur. Daxil edilmiş sıra A, B, C idisə, dəyərlər C, A, B kimi saxlanıla bilər. Saxlama sırası da A, B, C ola bilər, lakin daxil edilmiş sıranın və ya artan sıranın saxlanılmasına zəmanət yoxdur.

TreeSet və HashSet arasındakı əsas fərq
TreeSet və HashSet arasındakı əsas fərq

Şəkil 02: HashSet ilə proqram

Yuxarıdakı proqrama uyğun olaraq HashSet tipli obyekt yaradılır. Simli məlumat elementləri əlavə metodundan istifadə edərək həmin obyektə əlavə edilir. Daxil edilmiş verilənlər sırası L, R, M, M, R, L-dir. İteratordan istifadə edərək, saxlanılan dəyərlər ekrana çap olunur. Çıxış R L M-dir. Hər birindən iki L, R və M hərfi olsa da, hər birindən yalnız bir hərf göstərilir. Buna görə də, HashSet unikal elementləri saxlayır. Çıxışı müşahidə edərkən, artan sıranın olmadığını və ya daxil edilmiş sıranın qorunduğunu görmək olar.

TreeSet və HashSet arasında hansı oxşarlıqlar var?

  • Həm TreeSet, həm də HashSet kolleksiya iyerarxiyasına aid siniflərdir.
  • Həm TreeSet, həm də HashSet yalnız unikal elementləri saxlayır.
  • Həm TreeSet, həm də HashSet bir çox elementləri saxlamaq və manipulyasiya etmək üçün istifadə edilə bilər.
  • Həm TreeSet, həm də HashSet daxil edilmiş sıranı saxlamır.

TreeSet və HashSet arasındakı fərq nədir?

TreeSet vs HashSet

TreeSet kolleksiya iyerarxiyasında unikal elementləri artan qaydada saxlamaq üçün istifadə edilən sinifdir. HashSet kolleksiya iyerarxiyasında Hashing mexanizmindən istifadə edərək unikal elementləri saxlamaq üçün istifadə edilən sinifdir.
Element Saxlanması
TreeSet elementləri artan qaydada saxlayır. HashSet elementləri artan qaydada saxlamır.

Xülasə – TreeSet vs HashSet

Proqramlaşdırmada məlumat elementlərini dinamik şəkildə saxlamaq tələb olunur. Java kimi proqramlaşdırma dilləri bu tapşırığı yerinə yetirmək üçün Collections dəstəkləyir. Kolleksiya iyerarxiyasında bir sıra interfeyslər və siniflər var. TreeSet və HashSet Kolleksiya iyerarxiyasında iki sinifdir. Hər ikisi Set interfeysini həyata keçirir. TreeSet Set interfeysini həyata keçirən sinifdir və unikal elementləri artan qaydada saxlamaq üçün istifadə olunur. HashSet Set interfeysini həyata keçirən sinifdir və Hashing mexanizmindən istifadə edərək unikal elementləri saxlamaq üçün istifadə olunur. TreeSet və HashSet arasındakı fərq ondan ibarətdir ki, TreeSet elementləri artan qaydada saxlayır, HashSet isə elementləri artan qaydada saxlamır. Bu məqalədə TreeSet və HashSet arasındakı fərq müzakirə olunub.

Tövsiyə: