Dallimi midis TreeSet dhe HashSet

Përmbajtje:

Dallimi midis TreeSet dhe HashSet
Dallimi midis TreeSet dhe HashSet

Video: Dallimi midis TreeSet dhe HashSet

Video: Dallimi midis TreeSet dhe HashSet
Video: Dallimi midis gabimit dhe mëkatit 2024, Nëntor
Anonim

Diferenca kryesore – TreeSet vs HashSet

Shumica e gjuhëve të programimit mbështesin Arrays. Është një strukturë e të dhënave që përdoret për të ruajtur elementë të shumtë të të njëjtit lloj të dhënash. Nëse ka një grup të deklaruar për gjashtë elementë, atëherë ai nuk mund të përdoret për të ruajtur dhjetë elementë. Prandaj, vargjet nuk janë dinamike dhe nuk mund të ndryshojnë madhësinë e grupit pasi të deklarohet. Gjuhët e programimit si Java mbështet Koleksione që përdoren për të ruajtur të dhënat në mënyrë dinamike. Koleksionet mbështesin operacione të tilla si shtimi i elementeve dhe fshirja e elementeve. Ka një numër ndërfaqesh dhe klasash në hierarkinë e koleksionit. Ndërfaqja bazë është ndërfaqja e Koleksionit. Set është një ndërfaqe që zgjeron ndërfaqen e Koleksionit. Nuk lejon dyfishim. TreeSet dhe HashSet janë dy klasa në hierarkinë e Koleksionit dhe të dyja zbatojnë ndërfaqen Set. TreeSet është një klasë që zbaton ndërfaqen Set dhe përdoret për të ruajtur elementët unikë në rend rritës. HashSet është një klasë që zbaton ndërfaqen Set dhe përdoret për të ruajtur elementë unikë duke përdorur mekanizmin Hashing. Dallimi kryesor midis TreeSet dhe HashSet është se TreeSet ruan elementët në rend rritës ndërsa HashSet nuk i ruan elementet në rend rritës. Si TreeSet ashtu edhe HashSet ruajnë vetëm elemente unike.

Çfarë është një grup pemësh?

Klasa TreeSet zbaton ndërfaqen NavigableSet. Ndërfaqja NavigableSet zgjeron ndërfaqet SortedSet, Set, Collection dhe Iterable në rend hierarkik. TreeSet ruan gjithmonë rendin në rritje. Nëse elementët janë futur në rendin B, A, C, ato do të ruhen si A, B, C. Metodat si add (), remove () mund të përdoren me objektin TreeSet. Metoda e shtimit mund të përdoret për të shtuar një element. Metoda e heqjes përdoret për të hequr një element nga koleksioni. Këto janë disa metoda që mund të përdoren me TreeSet.

Dallimi midis TreeSet dhe HashSet
Dallimi midis TreeSet dhe HashSet

Figura 01: Program me TreeSet

Sipas programit të mësipërm, krijohet një objekt i tipit TreeSet. Elementet e të dhënave të vargut i shtohen atij objekti duke përdorur metodën e shtimit. Renditja e futur e të dhënave është A, D, A, B, C, D. Duke përdorur iteratorin, vlerat e ruajtura printohen në ekran. Dalja është A, B, C, D. Edhe pse ka dy shkronja A dhe dy shkronja D, dalja shfaq një A dhe një D secila. Prandaj, TreeSet ruan elemente unike. Nuk ka një renditje të veçantë të futjes, por kur vëzhgoni daljen, mund të shihet se TreeSet ruan rendin në rritje të elementeve.

Çfarë është një HashSet?

Klasa HashSet zgjeron klasën AbstractSet që zbaton Set Interface. Ndërfaqja Set trashëgon ndërfaqet Collection dhe Iterable në rend hierarkik. Në HashSet, nuk ka asnjë garanci që elementët do të ruajnë rendin në rritje dhe rendin e futur. Nëse rendi i futur ishte A, B, C, atëherë vlerat mund të ruhen si C, A, B. Rendi i ruajtjes mund të jetë gjithashtu A, B, C, por nuk ka asnjë garanci që renditja e futur ose renditja në rritje të ruhet.

Dallimi kryesor midis TreeSet dhe HashSet
Dallimi kryesor midis TreeSet dhe HashSet

Figura 02: Program me HashSet

Sipas programit të mësipërm, krijohet një objekt i tipit HashSet. Elementet e të dhënave të vargut i shtohen atij objekti duke përdorur metodën e shtimit. Renditja e futur e të dhënave është L, R, M, M, R, L. Duke përdorur iteratorin, vlerat e ruajtura printohen në ekran. Dalja është R L M. Edhe pse, ka dy shkronja L, R dhe M nga secila, shfaqet vetëm një shkronjë nga secila. Prandaj, HashSet ruan elemente unike. Gjatë vëzhgimit të prodhimit, mund të shihet se nuk ka rend në rritje ose se rendi i futur ruhet.

Cilat janë ngjashmëritë midis TreeSet dhe HashSet?

  • Të dyja TreeSet dhe HashSet janë klasa që i përkasin hierarkisë së koleksionit.
  • Të dyja TreeSet dhe HashSet ruajnë vetëm elemente unike.
  • Të dy TreeSet dhe HashSet mund të përdoren për të ruajtur dhe manipuluar shumë elementë.
  • Të dy TreeSet dhe HashSet nuk e ruajnë rendin e futur.

Cili është ndryshimi midis TreeSet dhe HashSet?

TreeSet vs HashSet

TreeSet është një klasë në hierarkinë e koleksionit që përdoret për të ruajtur elementët unikë në rend rritës. HashSet është një klasë në hierarkinë e koleksionit që përdoret për të ruajtur elementë unikë duke përdorur mekanizmin Hashing.
Ruajtja e elementeve
TreeSet ruan elementet në rend rritës. HashSet nuk i ruan elementet në rend rritës.

Përmbledhje – TreeSet vs HashSet

Në programim, kërkohet të ruhen elementët e të dhënave në mënyrë dinamike. Gjuhët e programimit si Java mbështet Koleksionet për të arritur këtë detyrë. Ka një numër ndërfaqesh dhe klasash në hierarkinë e koleksionit. TreeSet dhe HashSet janë dy klasa në hierarkinë e Koleksionit. Të dy zbatojnë ndërfaqen Set. TreeSet është një klasë që zbaton ndërfaqen Set dhe përdoret për të ruajtur elementët unikë në rend rritës. HashSet është një klasë që zbaton ndërfaqen Set dhe përdoret për të ruajtur elementë unikë duke përdorur mekanizmin Hashing. Dallimi midis TreeSet dhe HashSet është se TreeSet i ruan elementet në rend rritës ndërsa HashSet nuk i ruan elementet në rend rritës. Ky artikull diskutoi ndryshimin midis TreeSet dhe HashSet.

Recommended: