Rozdiel medzi TreeSet a HashSet

Obsah:

Rozdiel medzi TreeSet a HashSet
Rozdiel medzi TreeSet a HashSet

Video: Rozdiel medzi TreeSet a HashSet

Video: Rozdiel medzi TreeSet a HashSet
Video: Разница между HashMap и TreeMap Java собеседование 2024, November
Anonim

Kľúčový rozdiel – TreeSet vs HashSet

Väčšina programovacích jazykov podporuje polia. Ide o dátovú štruktúru, ktorá sa používa na uloženie viacerých prvkov rovnakého dátového typu. Ak je pole deklarované pre šesť prvkov, potom ho nemožno použiť na uloženie desiatich prvkov. Preto polia nie sú dynamické a nemôžu zmeniť veľkosť poľa, keď je deklarované. Programovacie jazyky ako Java podporujú kolekcie, ktoré sa používajú na dynamické ukladanie údajov. Kolekcie podporujú operácie, ako je pridávanie prvkov a odstraňovanie prvkov. V hierarchii kolekcií existuje množstvo rozhraní a tried. Základným rozhraním je rozhranie Collection. Set je rozhranie, ktoré rozširuje rozhranie kolekcie. Nepripúšťa duplikáciu. TreeSet a HashSet sú dve triedy v hierarchii kolekcie a obe implementujú rozhranie Set. TreeSet je trieda, ktorá implementuje rozhranie Set a používa sa na ukladanie jedinečných prvkov vo vzostupnom poradí. HashSet je trieda, ktorá implementuje rozhranie Set a používa sa na ukladanie jedinečných prvkov pomocou mechanizmu hash. Kľúčový rozdiel medzi TreeSet a HashSet je v tom, že TreeSet ukladá prvky vo vzostupnom poradí, zatiaľ čo HashSet neukladá prvky vo vzostupnom poradí. TreeSet aj HashSet ukladajú iba jedinečné prvky.

Čo je súprava stromov?

Trieda TreeSet implementuje rozhranie NavigableSet. Rozhranie NavigableSet rozširuje rozhrania SortedSet, Set, Collection a Iterable v hierarchickom poradí. TreeSet vždy zachováva vzostupné poradie. Ak boli prvky vložené v poradí B, A, C, budú uložené ako A, B, C. Metódy ako add (), remove () možno použiť s objektom TreeSet. Na pridanie prvku je možné použiť metódu add. Metóda remove sa používa na odstránenie prvku z kolekcie. Toto sú niektoré metódy, ktoré možno použiť s TreeSet.

Rozdiel medzi TreeSet a HashSet
Rozdiel medzi TreeSet a HashSet

Obrázok 01: Program so súpravou stromov

Podľa vyššie uvedeného programu sa vytvorí objekt typu TreeSet. Prvky údajov reťazca sa pridajú k tomuto objektu pomocou metódy add. Poradie vkladania údajov je A, D, A, B, C, D. Pomocou iterátora sa uložené hodnoty vytlačia na obrazovku. Výstup je A, B, C, D. Aj keď existujú dve písmená A a dve písmená D, na výstupe sa zobrazí každé jedno A a jedno D. Preto TreeSet ukladá jedinečné prvky. Neexistuje žiadne konkrétne poradie vkladania, ale pri sledovaní výstupu je možné vidieť, že množina stromov zachováva vzostupné poradie prvkov.

Čo je HashSet?

Trieda HashSet rozširuje triedu AbstractSet, ktorá implementuje rozhranie Set. Rozhranie Set dedí rozhrania Collection a Iterable v hierarchickom poradí. V HashSet nie je zaručené, že prvky zachovajú vzostupné poradie a vložené poradie. Ak bola vložená objednávka A, B, C, hodnoty sa môžu uložiť ako C, A, B. Uloženie objednávky môže byť aj A, B, C, ale nie je zaručené, že vložená objednávka alebo vzostupná objednávka zostane zachovaná.

Kľúčový rozdiel medzi TreeSet a HashSet
Kľúčový rozdiel medzi TreeSet a HashSet

Obrázok 02: Program s HashSet

Podľa vyššie uvedeného programu sa vytvorí objekt typu HashSet. Prvky údajov reťazca sa pridajú k tomuto objektu pomocou metódy add. Poradie vkladania údajov je L, R, M, M, R, L. Pomocou iterátora sa uložené hodnoty vytlačia na obrazovku. Výstup je R L M. Aj keď z každého sú dve písmená L, R a M, zobrazí sa len jedno písmeno z každého. HashSet preto ukladá jedinečné prvky. Pri sledovaní výstupu je možné vidieť, že neexistuje žiadne vzostupné poradie alebo je vložené poradie zachované.

Aké sú podobnosti medzi TreeSet a HashSet?

  • TreeSet aj HashSet sú triedy patriace do hierarchie kolekcie.
  • Set TreeSet aj HashSet ukladajú iba jedinečné prvky.
  • TreeSet aj HashSet možno použiť na ukladanie a manipuláciu s mnohými prvkami.
  • TreeSet aj HashSet neuchovávajú vložené poradie.

Aký je rozdiel medzi TreeSet a HashSet?

Set stromov vs HashSet

TreeSet je trieda v hierarchii kolekcie, ktorá sa používa na ukladanie jedinečných prvkov vo vzostupnom poradí. HashSet je trieda v hierarchii kolekcie, ktorá sa používa na ukladanie jedinečných prvkov pomocou mechanizmu hashovania.
Ukladanie prvkov
Sada stromov ukladá prvky vo vzostupnom poradí. HashSet neukladá prvky vo vzostupnom poradí.

Summary – TreeSet vs HashSet

Pri programovaní sa vyžaduje dynamické ukladanie dátových prvkov. Programovacie jazyky ako Java podporujú kolekcie na dosiahnutie tejto úlohy. V hierarchii kolekcií existuje množstvo rozhraní a tried. TreeSet a HashSet sú dve triedy v hierarchii kolekcie. Obaja implementujú rozhranie Set. TreeSet je trieda, ktorá implementuje rozhranie Set a používa sa na ukladanie jedinečných prvkov vo vzostupnom poradí. HashSet je trieda, ktorá implementuje rozhranie Set a používa sa na ukladanie jedinečných prvkov pomocou mechanizmu hash. Rozdiel medzi TreeSet a HashSet je v tom, že TreeSet ukladá prvky vo vzostupnom poradí, zatiaľ čo HashSet neukladá prvky vo vzostupnom poradí. Tento článok diskutoval o rozdieloch medzi TreeSet a HashSet.

Odporúča: