Java TreeSet

Java Treeset



A TreeSet az egyik legalapvetőbb SortedSet megvalósítás, amely fát használ elsődleges tárolótípusként. A TreeSetben minden érték a rendezett sorrendben kerül tárolásra. Alapértelmezés szerint az összes numerikus érték növekvő sorrendben marad meg, a karakterláncok kezelése pedig szótár alapú sorrendben történik. A TreeSet fenntartja a növekvő és a szótár alapú sorrendet, függetlenül attól, hogy az összehasonlítható megadva van-e vagy sem. A Set interfész megfelelő megvalósításához a TreeSetnek konzisztensnek kell lennie a hasonlóval. Ezenkívül a null értékek nem elfogadhatók a TreeSetben.

1. példa

Az add() metódus szükséges az elemek TreeSet-en belüli hozzáadásához. A megadott elem ugyanazt a rendezési sorrendet használja, mint a TreeSet létrehozásakor. Nem ad hozzá ismétlődő bejegyzéseket.









Az előző kódba beillesztettük a Java segédprogram osztályát, hogy elérjük a Java osztályait és metódusait. Ezután a main() metódus a „CreatingTreeSet” osztály definíciójába kerül. A TreeSet kódot a main() metóduson belül teszteltük. Először létrehoztunk egy „person” változót a TreeSet osztályból, és beállítottuk az üres TreeSet felületet a deklarált „persons” változóba.



Vegye figyelembe, hogy csak a karakterlánc-elemeket adtuk hozzá, mivel a TreeSet adattípusa az interfész létrehozásakor meg van adva. Öt karakterlánc-elemet illesztünk be a TreeSet-be, ahol minden karakterlánc-elem egyedi. Ezután az iterator() metódusból bejártuk a TreeSet egyes elemeit, amelyek növekvő sorrendben lesznek kinyomtatva a kimeneti képernyőn.





A TreeSet felülettel létrehozott elemek a következő kimeneti raszter kimeneteként kerülnek leolvasásra:



2. példa

A TreeSet létrehozása után az elemek a TreeSet által támogatott beépített metódussal érhetők el. A include() metódus ellenőrzi a TreeSet adott elemét. A first() metódus a TreeSet kezdeti elemét, míg a last() metódus a TreeSet végelemét kéri le.

A segédprogram osztály importálása után definiáltunk egy „AccessingTreeSet” osztályt. Ezután telepítettük a main() metódust a megadott Java osztályban a TreeSet elemek eléréséhez. A TreeSet osztályra hivatkozva deklaráltunk egy NavigableSet típusú „Colors” objektumot. A TreeSet() üres, amelyet az add() metódus meghívásával adunk hozzá a karakterlánc értékekkel. Itt három karakterlánc-értéket adtunk hozzá, a különböző színek nevét. Ezt követően a TreeSet értékek megjelennek a képernyőn print nyilatkozaton keresztül. Ezután létrehoztunk egy „find” változót, ahol a karakterlánc inicializálva van az ellenőrzéshez. Annak ellenőrzésére, hogy a karakterlánc létezik-e a megadott fák között, meghívtuk a include() metódust, és paraméterként hozzáadtuk a „find” változót. A Contains() metódus ellenőrzi a megadott karakterlánc-elem létezését a TreeSet-ből, és előállítja a logikai eredményeket. Továbbá a TreeSet első és utolsó elemét is megkaptuk a first() metódusból és a last() metódusból. Mindkét módszer létrehozza a megadott TreeSet első és utolsó pozíciójában elhelyezett konkrét elemet.

Az adott karakterlánc ellenőrzése a include() metódusból a valódi értéket adja vissza, ami azt mutatja, hogy a string elem a include() metódus része. Ezután a TreeSet első és utolsó értéke is megjelenik alább:

3. példa

Az első és az utolsó elemet az előző példában elértük. A legmagasabb és legalacsonyabb elemek eléréséhez és eltávolításához a pollFirst() és pollLast() metódust használjuk. A pollFirst() metódus a legalacsonyabb elem lekérésére és eltávolítására szolgál az elsőből. A pollLast() metódus a TreeSet utolsó legmagasabb elemének megkeresésére és eltávolítására szolgál.

A program a „LowerAndHigherValueFromTreeSet” Java osztállyal jön létre, ahol a main() metódus épül fel. Itt biztosítottuk a TreeSet interfészt a TreeSet osztályból az „IntegerSet” objektum deklarálásával. Kezdetben létrehoztunk egy üres TreeSet-et, amelyet az add() metódussal hozzáadhatunk az elemhez. Az Integer elemek az add() metódussal töltődnek be a TreeSetbe.

Ezt követően a pollFirst() és pollLast() metódussal print utasítást adtunk. A pollFirst() metódus az első legalacsonyabb elemeket kapja meg a megadott TreeSet-ből. Másrészt a pollLast() metódus a legmagasabb elemet kapja a TreeSet utolsó részéből.

Az eredmények a pollFirst() és pollLast() metódusokból származnak, amelyek a TreeSet legalacsonyabb és legmagasabb elemét jelenítették meg a kimenetben.

4. példa

A clear() metódus a TreeSetben található összes elem törlésére szolgál. Az üres TreeSet akkor jelenik meg, ha a clear() metódus implementálva van a TreeSet-en.

A „ClearTreeSet” nyilvános osztály a main() metódussal van beállítva az előző programban. Ott generáltuk az üres TreeSet-et, amely a TreeSet „SetElements” osztályváltozójában van beállítva. Ezután a véletlen számokat az add() metódus segítségével beszúrtuk a TreeSetbe. Ezután kinyomtattuk a TreeSet-et, hogy megmutassuk a benne lévő elemeket. A megjelenítés után a clear() metódust alkalmaztuk a TreeSet törlésére.

5. példa

A TreeSet nem teszi lehetővé heterogén elemek hozzáadását. Ha megpróbálunk heterogén objektumokat hozzáadni az osztályhoz, akkor a „classCastException” futási idő alatt megjelenik. A treeSet csak homogén és összehasonlítható objektumokat fogad el.

A main() metódust a „HeterogenousObjectTreeSet” Java osztályon belül telepítettük, ahol beállítottuk a TreeSet felületet. A TreeSet a „CharSet” objektumban van definiálva. Az elemek ezután hozzáadódnak a TreeSet „CharSet” objektumához. Az összehasonlítható elemeket a StringBuffer felülettel illesztettük be. Vegye figyelembe, hogy a TreeSet utolsó eleme heterogén, ami egy egész érték. Ezután kinyomtattuk a TreeSet elemeket, hogy megkapjuk a heterogén elem lekérésének eredményét.

Az eredmények azt mutatják, hogy a TreeSet első indexértéke nem jelenik meg, de az összes karakterelem megjelenik a képernyőn az összehasonlítható objektumok miatt.

Következtetés

A Java TreeSet osztály csak olyan megkülönböztető elemeket tartalmaz, mint a HashSet. A TreeSet a nagy mennyiségű releváns adat tárolásának optimális módja a gyors hozzáférhetőség és a visszakeresési időtartamok miatt, ami megkönnyíti a gyors adatfelderítést. A dokumentum lefedi a TreeSet osztály alapjait, beleértve a deklarációját is. Ezenkívül itt tárgyaljuk a különböző módszereket és műveleteket is.