Java TreeSet

Java Treeset



TreeSet je považován za jednu z nejzákladnějších implementací SortedSet, která používá strom jako primární typ úložiště. V TreeSet je každá hodnota uložena v seřazené sekvenci. Ve výchozím nastavení jsou všechny číselné hodnoty uchovávány ve vzestupném pořadí a řetězce jsou zpracovávány ve slovníkovém pořadí. Sada TreeSet udržuje vzestupné pořadí a pořadí založené na slovníku, ať už je srovnatelné specifikováno nebo ne. Pro správnou implementaci rozhraní Set musí být TreeSet konzistentní s srovnatelným. Kromě toho nejsou v sadě stromů přijatelné hodnoty null.

Příklad 1

K přidání prvků do TreeSet je nutná metoda add() . Zadaný prvek bude přidán pomocí stejné sekvence řazení jako při vytváření TreeSet. Nepřidá duplicitní položky.









Do předchozího kódu jsme vložili třídu utility Java pro přístup ke třídám a metodám Java. Dále je metoda main() uzavřena v definici třídy „CreatingTreeSet“. Testovali jsme kód TreeSet v metodě main(). Nejprve jsme vytvořili proměnnou „person“ ze třídy TreeSet a nastavili prázdné rozhraní TreeSet v deklarované proměnné „persons“.



Všimněte si, že jsme přidali pouze prvky řetězce, protože datový typ TreeSet je specifikován v době vytváření jeho rozhraní. Do TreeSet jsme vložili pět prvků řetězce, kde je každý prvek řetězce jedinečný. Poté jsme prošli každý prvek TreeSet z metody iterator(), který bude vytištěn ve vzestupném pořadí na výstupní obrazovce.





Prvky vytvořené pomocí rozhraní TreeSet jsou načteny jako výstup na následujícím výstupu:



Příklad 2

Po vytvoření TreeSet lze k prvkům přistupovat pomocí vestavěné metody podporované TreeSetem. Metoda obsahuje() kontroluje konkrétní prvek v sadě stromů. Metoda first() načte počáteční prvek TreeSet, zatímco metoda last() načte koncový prvek TreeSet.

Po importu obslužné třídy jsme definovali třídu „AccessingTreeSet“. Dále jsme nasadili metodu main() do zadané třídy Java pro přístup k prvkům TreeSet. Deklarovali jsme objekt „Colors“ typu NavigableSet s odkazem na třídu TreeSet. TreeSet() je prázdná, která je přidána s řetězcovými hodnotami vyvoláním metody add(). Zde jsme přidali tři hodnoty řetězce, název různých barev. Poté se hodnoty TreeSet zobrazí na obrazovce prostřednictvím tiskového výpisu. Dále jsme vytvořili proměnnou „find“, kde je řetězec inicializován pro kontrolu. Abychom zkontrolovali, zda řetězec existuje v poskytnutých stromech, zavolali jsme metodu obsahuje() a přidali proměnnou „find“ jako parametr. Metoda Contains() ověřuje existenci zadaného prvku řetězce ze sady TreeSet a generuje booleovské výsledky. Dále jsme také získali první a poslední prvek v TreeSet z metody first() a last(). Obě metody generují konkrétní prvek umístěný na první a poslední pozici v poskytnuté TreeSet.

Kontrola konkrétního řetězce z metody obsahuje() vrací hodnotu true, která ukazuje, že prvek string je součástí metody obsahuje(). Dále se níže také zobrazí první hodnota a poslední hodnota TreeSet:

Příklad 3

První a poslední prvek byl zpřístupněn v předchozím příkladu. Pro přístup a odstranění nejvyšších a nejnižších prvků se používají metody pollFirst() a pollLast(). Metoda pollFirst() se používá k načtení a odstranění nejnižšího prvku z prvního. Metoda pollLast() se používá k vyhledání a odstranění nejvyššího prvku z posledního prvku TreeSet.

Program je založen s třídou Java „LowerAndHigherValueFromTreeSet“, kde je zkonstruována metoda main(). Zde jsme poskytli rozhraní TreeSet z třídy TreeSet deklarováním objektu „IntegerSet“. Nejprve jsme vytvořili prázdnou sadu stromů, kterou lze přidat k prvku pomocí metody add(). Položky typu Integer se načtou do TreeSet pomocí metody add().

Poté jsme zadali tiskový příkaz pomocí metody pollFirst() a pollLast(). Metoda pollFirst() získává první nejnižší prvky ze zadané TreeSet. Na druhou stranu metoda pollLast() získá nejvyšší prvek z posledního prvku TreeSet.

Výsledky jsou získány z metod pollFirst() a pollLast(), které ve výstupu zobrazily nejnižší a nejvyšší prvek z TreeSet.

Příklad 4

Metoda clear() se používá k vymazání všech prvků přítomných v TreeSet. Prázdná TreeSet je vrácena, jakmile je metoda clear() implementována na TreeSet.

Veřejná třída „ClearTreeSet“ je nastavena pomocí metody main() v předchozím programu. Vygenerovali jsme tam prázdný TreeSet, který je nastaven v proměnné třídy TreeSet „SetElements“. Poté jsme náhodná čísla vložili pomocí metody add() do TreeSet. Dále jsme vytiskli TreeSet, abychom ukázali prvky uvnitř. Po zobrazení jsme použili metodu clear() k vymazání TreeSet.

Příklad 5

TreeSet nedovolí přidání heterogenních prvků. Pokud se pokusíme přidat heterogenní objekty třídy, za běhu se vyvolá „classCastException“. Stromová sada přijímá pouze objekty, které jsou homogenní a srovnatelné.

Metodu main() jsme nasadili v rámci třídy Java „HeterogenousObjectTreeSet“, kde jsme nastavili rozhraní TreeSet. TreeSet je definován v objektu „CharSet“. Prvky jsou poté přidány do objektu „CharSet“ sady TreeSet. Vložili jsme srovnatelné prvky s rozhraním StringBuffer. Všimněte si, že poslední prvek uvnitř TreeSet je heterogenní, což je celočíselná hodnota. Poté jsme vytiskli prvky TreeSet, abychom získali výsledky načítání heterogenního prvku.

Výsledky ukazují, že se nezobrazuje první hodnota indexu TreeSet, ale na obrazovce jsou zobrazeny všechny prvky znaků kvůli srovnatelným objektům.

Závěr

Třída Java TreeSet obsahuje pouze charakteristické prvky, jako je HashSet. TreeSet je optimální způsob, jak ukládat velké množství relevantních dat díky své rychlé dostupnosti a trvání načítání, což usnadňuje rychlé zjišťování dat. Dokument pokrývá základy třídy TreeSet, včetně její deklarace. Kromě toho jsou zde také diskutovány různé metody a operace.