Razlika između TreeSet i HashSet

Ključna razlika - TreeSet vs HashSet
 

Većina programskih jezika podržava Arrays. To je struktura podataka koja se koristi za pohranu više elemenata iste vrste podataka. Ako postoji niz koji je deklariran za šest elemenata, on se ne može koristiti za spremanje deset elemenata. Prema tome, nizovi nisu dinamični i ne mogu mijenjati veličinu matrice nakon što je deklarirana. Programski jezici kao što je Java podržava Zbirke koje se koriste za dinamičko spremanje podataka. Zbirke podržavaju operacije poput dodavanja elemenata i brisanja elemenata. Postoji niz sučelja i klasa u hijerarhiji zbirke. Osnovno sučelje je sučelje kolekcije. Set je sučelje koje proširuje sučelje Collection. Ne dopušta umnožavanje. TreeSet i HashSet su dvije klase u hijerarhiji kolekcije i obje implementiraju sučelje Set. TreeSet je klasa koja implementira Set sučelje i koristi se za pohranu jedinstvenih elemenata u uzlaznom redoslijedu. HashSet je klasa koja implementira Set sučelje i koristi se za pohranjivanje jedinstvenih elemenata koristeći Hashing mehanizam. ključna razlika između TreeSet-a i HashSet-a je to TreeSet pohranjuje elemente u uzlaznom redoslijedu dok HashSet ne pohranjuje elemente u uzlaznom redoslijedu. I TreeSet i HashSet pohranjuju samo jedinstvene elemente.

SADRŽAJ

1. Pregled i ključne razlike
2. Što je TreeSet
3. Što je HashSet
4. Sličnosti između TreeSet-a i HashSet-a
5. Usporedna usporedba - TreeSet vs HashSet u tabelarnom obliku
6. Sažetak

Što je TreeSet?

TreeSet klasa implementira NavigableSet sučelje. Sučelje NavigableSet proširuje sučelja SortedSet, Set, Collection i Iterable hijerarhijskim redoslijedom. TreeSet uvijek održava uzlazni poredak. Ako su elementi umetnuti u B, A, C redoslijedu, oni će biti pohranjeni kao A, B, C. Metode poput dodavanja (), uklanjanja () mogu se koristiti s TreeSet objektom. Za dodavanje elementa može se koristiti metoda dodavanja. Metoda uklanjanja koristi se za uklanjanje elementa iz kolekcije. To su neke metode koje se mogu koristiti s TreeSetom.

Slika 01: Program s TreeSetom

Prema gore navedenom programu, kreira se objekt tipa TreeSet. Elementi stringova podataka 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 ekranu. Izlaz je A, B, C, D. Iako postoje dva slova A i dva slova D, izlaz prikazuje jedno A i jedno D svako. Stoga TreeSet pohranjuje jedinstvene elemente. Ne postoji određeni redoslijed umetanja, ali kad se promatra izlaz, može se vidjeti da TreeSet održava uzlazni redoslijed elemenata..

Što je HashSet?

HashSet klasa proširuje klasu AbstractSet koja implementira Set Interface. Sučelje Set nasljeđuje zbirka i Interable sučelja hijerarhijskim redoslijedom. U HashSetu ne postoji jamstvo da će elementi održavati uzlazni i umetnuti redoslijed. Ako je umetnuti redoslijed A, B, C, vrijednosti se mogu pohraniti kao C, A, B. Redoslijed pohranjivanja može biti i A, B, C, ali ne postoji jamstvo da će se umetnuti redoslijed ili uzlazni poredak održavati.

Slika 02: Program s HashSet-om

Prema gore navedenom programu, kreira se objekt tipa HashSet. Elementi stringova podataka 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 ekranu. Izlaz je R L M. Iako postoje dva slova L, R i M iz svakog, samo je jedno slovo prikazano. Stoga HashSet pohranjuje jedinstvene elemente. Kada se promatra izlaz, vidi se da ne postoji uzlazni poredak ili se umetnuti redoslijed održava.

Koje su sličnosti između TreeSet-a i HashSet-a?

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

Koja je razlika između TreeSet-a i HashSet-a?

TreeSet vs HashSet

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

Sažetak - TreeSet vs HashSet

U programiranju je potrebno dinamički pohranjivati ​​podatke. Programski jezici kao što je Java podržava Zbirke za postizanje ovog zadatka. Postoji niz sučelja i klasa u hijerarhiji zbirke. TreeSet i HashSet su dvije klase u hijerarhiji kolekcije. Oboje implementira Set sučelje. TreeSet je klasa koja implementira Set sučelje i koristi se za pohranu jedinstvenih elemenata u uzlaznom redoslijedu. HashSet je klasa koja implementira Set sučelje i koristi se za pohranjivanje jedinstvenih elemenata koristeći Hashing mehanizam. Razlika između TreeSet-a i HashSet-a je u tome što TreeSet pohranjuje elemente u uzlaznom redoslijedu dok HashSet ne pohranjuje elemente u uzlaznom redoslijedu. Ovaj članak govori o razlici između TreeSet-a i HashSet-a.

Referenca:

1. "TreeSet u Javi - javatpoint." JavaPoint. Dostupno ovdje
2. "HashSet u Javi - javatpoint." JavaPoint  Dostupno ovdje