Väčšina programovacích jazykov podporuje polia. Je to dátová štruktúra, ktorá sa používa na ukladanie viacerých prvkov toho istého dátového typu. Ak je pole deklarované pre šesť prvkov, potom sa nemôže použiť na uloženie desiatich prvkov. Polia preto nie sú dynamické a po vyhlásení nemôžu zmeniť veľkosť poľa. Programovacie jazyky, ako napríklad Java, podporuje 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í je niekoľko rozhraní a tried. Základným rozhraním je rozhranie Zbierka. Set je rozhranie, ktoré rozširuje rozhranie Collection. Nepovoľuje duplikáciu. TreeSet a HashSet sú dve triedy v hierarchii kolekcie a obidve 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 hashovania. kľúčový rozdiel medzi TreeSet a HashSet je to TreeSet ukladá prvky vzostupne, zatiaľ čo HashSet neukladá prvky vzostupne. TreeSet aj HashSet ukladajú iba jedinečné prvky.
1. Prehľad a kľúčový rozdiel
2. Čo je to TreeSet
3. Čo je to HashSet
4. Podobnosti medzi TreeSet a HashSet
5. Porovnanie vedľa seba - TreeSet vs HashSet v tabuľkovej forme
6. Zhrnutie
Trieda TreeSet implementuje rozhranie NavigableSet. Rozhranie NavigableSet rozširuje rozhrania SortedSet, Set, Collection a Iterable v hierarchickom poradí. TreeSet vždy udržuje vzostupné poradie. Ak boli prvky vložené v poradí B, A, C, budú uložené ako A, B, C. Metódy ako add (), remove () sa môžu použiť s objektom TreeSet. Metóda add sa dá použiť na pridanie prvku. Metóda odstránenia sa používa na odstránenie prvku zo zbierky. Toto sú niektoré metódy, ktoré sa dajú použiť s TreeSet.
Obrázok 01: Programovanie pomocou TreeSet
Podľa vyššie uvedeného programu sa vytvorí objekt typu TreeSet. Dátové prvky reťazca sa k objektu pridávajú pomocou metódy add. Poradie vloženia údajov je A, D, A, B, C, D. Pomocou iterátora sa uložené hodnoty vytlačia na obrazovku. Výstupom je A, B, C, D. Aj keď existujú dve písmená A a dve písmená D, na výstupe sa zobrazí každé A a D. Preto TreeSet ukladá jedinečné prvky. Neexistuje nijaké konkrétne poradie vkladania, ale pri pozorovaní výstupu je zrejmé, že TreeSet udržuje vzostupné poradie prvkov.
Trieda HashSet rozširuje triedu AbstractSet, ktorá implementuje Set Interface. Rozhranie Set zdedí zbierky a rozhrania Iterable v hierarchickom poradí. V HashSet neexistuje žiadna záruka, že prvky budú udržiavať vzostupné a vložené poradie. Ak bol vložený príkaz A, B, C, potom by sa hodnoty mohli ukladať ako C, A, B. Objednávka uloženia môže byť tiež A, B, C, ale neexistuje žiadna záruka, že vložený alebo vzostupný poriadok bude zachovaný..
Obrázok 02: Programovanie pomocou HashSet
Podľa vyššie uvedeného programu sa vytvorí objekt typu HashSet. Dátové prvky reťazca sa k objektu pridávajú pomocou metódy add. Poradie vloženia údajov je L, R, M, M, R, L. Pomocou iterátora sa uložené hodnoty vytlačia na obrazovku. Výstupom je RL M. Aj keď z každého z nich sú dve písmená L, R a M, zobrazí sa iba jedno písmeno z každého. Preto zariadenie HashSet ukladá jedinečné prvky. Pri pozorovaní výstupu je zrejmé, že neexistuje vzostupné poradie alebo je zachované vložené poradie.
TreeSet vs HashSet | |
TreeSet je trieda v hierarchii kolekcií, ktorá sa používa na ukladanie jedinečných prvkov vo vzostupnom poradí. | HashSet je trieda v hierarchii kolekcií, ktorá sa používa na ukladanie jedinečných prvkov pomocou mechanizmu hashovania. |
Ukladanie prvkov | |
TreeSet ukladá prvky vzostupne. | HashSet neukladá prvky vzostupne. |
Pri programovaní je potrebné dynamicky ukladať dátové prvky. Programovacie jazyky, ako je Java, podporujú kolekcie na dosiahnutie tejto úlohy. V hierarchii kolekcií je niekoľko rozhraní a tried. TreeSet a HashSet sú dve triedy v hierarchii zbierky. Obidva 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 hashovania. Rozdiel medzi TreeSet a HashSet je v tom, že TreeSet ukladá prvky vo vzostupnom poradí, zatiaľ čo HashSet neukladá prvky vo vzostupnom poradí. V tomto článku sa diskutuje o rozdieloch medzi TreeSet a HashSet.
1. „TreeSet in Java - javatpoint.“ JavaPoint. K dispozícii tu
2. „HashSet in Java - javatpoint.“ JavaPoint . K dispozícii tu