Razlika između TreeSeta i HashSeta

Sadržaj:

Razlika između TreeSeta i HashSeta
Razlika između TreeSeta i HashSeta

Video: Razlika između TreeSeta i HashSeta

Video: Razlika između TreeSeta i HashSeta
Video: Viscosity, Cohesive and Adhesive Forces, Surface Tension, and Capillary Action 2024, Studeni
Anonim

Ključna razlika – TreeSet vs HashSet

Većina programskih jezika podržava nizove. To je struktura podataka koja se koristi za pohranjivanje više elemenata iste vrste podataka. Ako postoji niz deklariran za šest elemenata, tada se ne može koristiti za pohranu deset elemenata. Stoga nizovi nisu dinamički i ne mogu promijeniti veličinu niza nakon što je deklariran. Programski jezici kao što je Java podržavaju zbirke koje se koriste za dinamičko pohranjivanje podataka. Zbirke podržavaju operacije kao što su dodavanje i brisanje elemenata. U hijerarhiji zbirke postoji niz sučelja i klasa. Osnovno sučelje je sučelje zbirke. Set je sučelje koje proširuje sučelje zbirke. Ne dopušta dupliranje. TreeSet i HashSet dvije su klase u hijerarhiji zbirke i obje implementiraju sučelje Set. TreeSet je klasa koja implementira Set sučelje i koristi se za pohranu jedinstvenih elemenata u rastućem redoslijedu. HashSet je klasa koja implementira Set sučelje i koristi se za pohranu jedinstvenih elemenata pomoću Hashing mehanizma. Ključna razlika između TreeSeta i HashSeta je u tome što TreeSet pohranjuje elemente uzlaznim redoslijedom dok HashSet ne pohranjuje elemente uzlaznim redoslijedom. I TreeSet i HashSet pohranjuju samo jedinstvene elemente.

Što je TreeSet?

TreeSet klasa implementira NavigableSet sučelje. Sučelje NavigableSet proširuje sučelja SortedSet, Set, Collection i Iterable u hijerarhijskom redoslijedu. TreeSet uvijek održava uzlazni poredak. Ako su elementi umetnuti redoslijedom B, A, C, bit će pohranjeni kao A, B, C. Metode kao što su add (), remove () mogu se koristiti s TreeSet objektom. Metoda add može se koristiti za dodavanje elementa. Metoda uklanjanja koristi se za uklanjanje elementa iz kolekcije. Ovo su neke metode koje se mogu koristiti s TreeSet-om.

Razlika između TreeSeta i HashSeta
Razlika između TreeSeta i HashSeta

Slika 01: Program s TreeSet

Prema gornjem programu kreira se objekt tipa TreeSet. Elementi podataka niza dodaju se tom objektu pomoću metode dodavanja. Redoslijed umetnutih podataka je A, D, A, B, C, D. Pomoću iteratora pohranjene vrijednosti se ispisuju na ekran. Ispis je A, B, C, D. Iako postoje dva slova A i dva slova D, izlaz prikazuje po jedno A i jedno D. Stoga TreeSet pohranjuje jedinstvene elemente. Ne postoji određeni redoslijed umetanja, ali kada se promatra izlaz, može se vidjeti da TreeSet održava uzlazni redoslijed elemenata.

Što je HashSet?

Klasa HashSet proširuje klasu AbstractSet koja implementira Set Interface. Sučelje Set nasljeđuje sučelja Collection i Iterable u hijerarhijskom redu. U HashSet-u nema jamstva da će elementi zadržati uzlazni redoslijed i umetnuti redoslijed. Ako je umetnuti redoslijed bio A, B, C, tada bi se vrijednosti mogle pohraniti kao C, A, B. Redoslijed pohranjivanja također može biti A, B, C, ali nema jamstva da će se održati umetnuti redoslijed ili uzlazni redoslijed.

Ključna razlika između TreeSeta i HashSeta
Ključna razlika između TreeSeta i HashSeta

Slika 02: Program s HashSet-om

Prema gornjem programu kreira se objekt tipa HashSet. Elementi podataka niza dodaju se tom objektu pomoću metode dodavanja. Redoslijed umetnutih podataka je L, R, M, M, R, L. Pomoću iteratora pohranjene vrijednosti se ispisuju na ekran. Izlaz je R L M. Iako postoje dva slova L, R i M od svakog, prikazuje se samo jedno slovo od svakog. Stoga HashSet pohranjuje jedinstvene elemente. Pri promatranju izlaza može se vidjeti da nema uzlaznog redoslijeda ili da je umetnuti redoslijed zadržan.

Koje su sličnosti između TreeSeta i HashSeta?

  • I TreeSet i HashSet su klase koje pripadaju hijerarhiji zbirke.
  • I TreeSet i HashSet pohranjuju samo jedinstvene elemente.
  • I TreeSet i HashSet mogu se koristiti za pohranu i manipuliranje mnogim elementima.
  • TreeSet i HashSet ne održavaju umetnuti redoslijed.

Koja je razlika između TreeSeta i HashSeta?

TreeSet vs HashSet

TreeSet je klasa u hijerarhiji zbirke koja se koristi za pohranu jedinstvenih elemenata uzlaznim redoslijedom. HashSet je klasa u hijerarhiji zbirke koja se koristi za pohranjivanje jedinstvenih elemenata pomoću Hashing mehanizma.
Pohranjivanje elemenata
TreeSet pohranjuje elemente uzlaznim redoslijedom. HashSet ne pohranjuje elemente uzlaznim redoslijedom.

Sažetak – TreeSet vs HashSet

U programiranju se zahtijeva dinamičko pohranjivanje podatkovnih elemenata. Programski jezici kao što je Java podržavaju zbirke za postizanje ovog zadatka. U hijerarhiji zbirke postoji niz sučelja i klasa. TreeSet i HashSet dvije su klase u hijerarhiji zbirke. Oba implementiraju Set sučelje. TreeSet je klasa koja implementira Set sučelje i koristi se za pohranu jedinstvenih elemenata u rastućem redoslijedu. HashSet je klasa koja implementira Set sučelje i koristi se za pohranu jedinstvenih elemenata pomoću Hashing mehanizma. Razlika između TreeSeta i HashSeta je u tome što TreeSet pohranjuje elemente uzlaznim redoslijedom dok HashSet ne pohranjuje elemente uzlaznim redoslijedom. U ovom se članku govori o razlici između TreeSeta i HashSeta.

Preporučeni: