Většina programovacích jazyků podporuje pole. Jde o datovou strukturu, která se používá k ukládání více prvků stejného datového typu. Pokud je pole deklarováno pro šest prvků, nelze jej použít k uložení deseti prvků. Pole tedy nejsou dynamická a po deklaraci nemohou měnit velikost pole. Programovací jazyky, jako je Java, podporuje kolekce, které se používají k dynamickému ukládání dat. Kolekce podporují operace, jako je přidávání prvků a mazání prvků. V hierarchii kolekce existuje řada rozhraní a tříd. Základním rozhraním je rozhraní kolekce. Set je rozhraní, které rozšiřuje rozhraní Collection. Nepovoluje duplicitu. TreeSet a HashSet jsou dvě třídy v hierarchii kolekce a oba implementují rozhraní Set. TreeSet je třída, která implementuje rozhraní Set a používá se k ukládání jedinečných prvků ve vzestupném pořadí. HashSet je třída, která implementuje rozhraní Set a používá se k ukládání jedinečných prvků pomocí mechanismu Hashing. klíčový rozdíl mezi TreeSet a HashSet je to TreeSet ukládá prvky ve vzestupném pořadí, zatímco HashSet neukládá prvky ve vzestupném pořadí. TreeSet i HashSet ukládají pouze jedinečné prvky.
1. Přehled a klíčový rozdíl
2. Co je to TreeSet
3. Co je to HashSet
4. Podobnosti mezi TreeSet a HashSet
5. Porovnání vedle sebe - TreeSet vs HashSet v tabulkové formě
6. Shrnutí
Třída TreeSet implementuje rozhraní NavigableSet. Rozhraní NavigableSet rozšiřuje rozhraní SortedSet, Set, Collection a Iterable v hierarchickém pořadí. TreeSet vždy udržuje vzestupné pořadí. Pokud byly prvky vloženy v pořadí B, A, C, budou uloženy jako A, B, C. Metody jako add (), remove () lze použít s objektem TreeSet. Metodu přidání lze použít k přidání prvku. Metoda odebrání se používá k odebrání prvku ze sbírky. To jsou některé metody, které lze použít s TreeSet.
Obrázek 01: Programování pomocí TreeSet
Podle výše uvedeného programu je vytvořen objekt typu TreeSet. Datové prvky řetězce jsou do objektu přidány pomocí metody add. Pořadí vložených dat je A, D, A, B, C, D. Pomocí iterátoru jsou uložené hodnoty vytištěny na obrazovku. Výstupem jsou A, B, C, D. I když existují dvě písmena A a dvě písmena D, výstup zobrazuje každé A a D každé. Proto TreeSet ukládá jedinečné prvky. Neexistuje žádné zvláštní pořadí vkládání, ale při pozorování výstupu je vidět, že TreeSet udržuje vzestupné pořadí prvků.
Třída HashSet rozšiřuje třídu AbstractSet, která implementuje Set Interface. Rozhraní Set zdědí Collection a Iterable rozhraní v hierarchickém pořadí. V HashSet neexistuje žádná záruka, že prvky budou udržovat vzestupné a vložené pořadí. Pokud byl vložený příkaz A, B, C, pak by se hodnoty mohly ukládat jako C, A, B. Pořadí uložení může být také A, B, C, ale není zaručeno, že vložený nebo vzestupný řád bude zachován.
Obrázek 02: Programování pomocí HashSet
Podle výše uvedeného programu je vytvořen objekt typu HashSet. Datové prvky řetězce jsou do objektu přidány pomocí metody add. Pořadí vložených dat je L, R, M, M, R, L. Pomocí iterátoru jsou uložené hodnoty vytištěny na obrazovku. Výstupem je RL M. Přestože z každého jsou dvě písmena L, R a M, zobrazí se pouze jedno písmeno z každého. Proto HashSet ukládá jedinečné prvky. Při pozorování výstupu je vidět, že neexistuje vzestupné pořadí nebo je vložené pořadí zachováno.
TreeSet vs HashSet | |
TreeSet je třída v hierarchii kolekce, která se používá k ukládání jedinečných prvků ve vzestupném pořadí. | HashSet je třída v hierarchii kolekce, která se používá k ukládání jedinečných prvků pomocí mechanismu Hashing. |
Ukládání prvků | |
TreeSet ukládá prvky ve vzestupném pořadí. | HashSet neukládá prvky ve vzestupném pořadí. |
Při programování je nutné dynamicky ukládat datové prvky. Programovací jazyky, jako je Java, podporují kolekce pro dosažení tohoto úkolu. V hierarchii kolekce existuje řada rozhraní a tříd. TreeSet a HashSet jsou dvě třídy v hierarchii kolekce. Oba implementují rozhraní Set. TreeSet je třída, která implementuje rozhraní Set a používá se k ukládání jedinečných prvků ve vzestupném pořadí. HashSet je třída, která implementuje rozhraní Set a používá se k ukládání jedinečných prvků pomocí mechanismu Hashing. Rozdíl mezi TreeSet a HashSet je v tom, že TreeSet ukládá prvky ve vzestupném pořadí, zatímco HashSet neukládá prvky ve vzestupném pořadí. Tento článek pojednává o rozdílu mezi TreeSet a HashSet.
1. „TreeSet v Javě - javatpoint.“ JavaPoint. K dispozici zde
2. „HashSet v Javě - javatpoint.“ JavaPoint . K dispozici zde