Java TreeSet

Java Treeset



TreeSet regnes som en av de mest grunnleggende SortedSet-implementeringene som bruker et tre som primær lagringstype. I et TreeSet lagres hver verdi i den sorterte sekvensen. Som standard beholdes alle numeriske verdier i stigende rekkefølge, og strenger håndteres i ordbokbasert rekkefølge. TreeSet opprettholder den stigende og ordbokbaserte rekkefølgen enten den sammenlignbare er spesifisert eller ikke. For å implementere Set-grensesnittet på riktig måte, må TreeSet være konsistent med sammenlignbar. Videre er null-verdier ikke akseptable i TreeSet.

Eksempel 1

Add()-metoden er nødvendig for å legge til elementene inne i TreeSet. Elementet som er spesifisert vil bli lagt til ved å bruke samme sorteringssekvens som da TreeSet ble opprettet. Det vil ikke legge til dupliserte oppføringer.









Inne i den forrige koden har vi satt inn verktøyklassen til Java for å få tilgang til klassene og metodene til Java. Deretter er main()-metoden vedlagt i definisjonen av klassen 'CreatingTreeSet'. Vi har testet TreeSet-koden inne i main()-metoden. Vi har først laget en variabel 'person' fra klassen TreeSet og satt det tomme TreeSet-grensesnittet i den deklarerte variabelen 'persons'.



Merk at vi kun har lagt til strengelementene ettersom datatypen til TreeSet er spesifisert på tidspunktet for opprettelse av grensesnittet. Vi har satt inn fem strengelementer i TreeSet, hvor hvert strengelement er unikt. Deretter krysset vi hvert element i TreeSet fra iterator()-metoden, som vil bli skrevet ut i stigende rekkefølge på utdataskjermen.





Elementene som er opprettet ved hjelp av TreeSet-grensesnittet, hentes som utdata på følgende utdata-snap:



Eksempel 2

Etter å ha opprettet TreeSet, kan elementene nås ved å bruke den innebygde metoden som støttes av TreeSet. Metoden contains() sjekker det spesifikke elementet i TreeSet. First()-metoden henter TreeSets initialelement, mens siste()-metoden henter TreeSets sluttelement.

Etter import av verktøyklassen har vi definert en klasse 'AccessingTreeSet'. Deretter distribuerte vi main()-metoden i den angitte Java-klassen for å få tilgang til TreeSet-elementene. Vi har erklært et 'Colors'-objekt av typen NavigableSet med referanse til TreeSet-klassen. TreeSet() er tom, som legges til med strengverdiene ved å påkalle add()-metoden. Her har vi lagt til tre strengverdier, navnet på de forskjellige fargene. Etter det vil TreeSet-verdiene vises på skjermen via print statement. Deretter har vi laget en variabel 'finn' der strengen er initialisert for å sjekke. For å sjekke om strengen finnes i de angitte trærne, har vi kalt contains()-metoden og lagt til 'find'-variabelen som en parameter. Contains()-metoden bekrefter eksistensen av det spesifiserte strengelementet fra TreeSet og genererer de boolske resultatene. Videre har vi også fått det første og det siste elementet i TreeSet fra first()-metoden og siste()-metoden. Begge metodene genererer det spesifikke elementet plassert på den første og den siste posisjonen i det angitte TreeSet.

Kontrollen av den bestemte strengen fra contains()-metoden returnerer den sanne verdien, som viser at strengelementet er en del av contains()-metoden. Deretter vises TreeSets første verdi og den siste verdien også nedenfor:

Eksempel 3

Det første og siste elementet har blitt åpnet i forrige eksempel. For å få tilgang til og eliminere de høyeste og laveste elementene, brukes metodene pollFirst() og pollLast(). Metoden pollFirst() brukes til å hente og fjerne det laveste elementet fra det første. pollLast()-metoden brukes for å finne og eliminere det høyeste elementet fra det siste i TreeSet.

Programmet er etablert med Java-klassen 'LowerAndHigherValueFromTreeSet' hvor main()-metoden er konstruert. Her har vi gitt TreeSet-grensesnittet fra TreeSet-klassen ved å erklære objektet 'IntegerSet'. Til å begynne med har vi laget et tomt TreeSet som kan legges til med elementet ved å bruke add()-metoden. Integer-elementene lastes inn i TreeSet ved å bruke add()-metoden.

Etter det ga vi en utskriftserklæring ved å bruke pollFirst()-metoden og pollLast(). Metoden pollFirst() henter de første laveste elementene fra det spesifiserte TreeSet. På den annen side får pollLast()-metoden det høyeste elementet fra det siste av TreeSet.

Resultatene er hentet fra metodene pollFirst() og pollLast() som viste det laveste og det høyeste elementet fra TreeSet i utdataene.

Eksempel 4

Clear()-metoden brukes til å fjerne alle elementene som finnes i TreeSet. Det tomme TreeSet returneres når clear()-metoden er implementert på TreeSet.

Den offentlige klassen 'ClearTreeSet' er satt med main()-metoden i det forrige programmet. Vi har generert det tomme TreeSet der, som er satt i TreeSet-klassevariabelen 'SetElements'. Deretter satte vi inn de tilfeldige tallene ved hjelp av add()-metoden inne i TreeSet. Deretter skrev vi ut TreeSet for å vise elementene inne i det. Etter visning har vi brukt clear()-metoden for å tømme TreeSet.

Eksempel 5

TreeSet tillater ikke tilsetning av heterogene elementer. Hvis vi prøver å legge til heterogene objekter av klassen, vil 'classCastException' bli kastet under kjøring. Tresettet godtar kun objekter som er homogene og sammenlignbare.

Vi har distribuert main()-metoden i Java-klassen 'HeterogenousObjectTreeSet' hvor vi har satt TreeSet-grensesnittet. TreeSet er definert i objektet 'CharSet'. Elementene legges deretter til TreeSets 'CharSet'-objekt. Vi har satt inn de sammenlignbare elementene med StringBuffer-grensesnittet. Merk at det siste elementet i TreeSet er heterogent, som er en heltallsverdi. Deretter skrev vi ut TreeSet-elementene for å få resultatene av å hente det heterogene elementet.

Resultatene viser at den første indeksverdien til TreeSet ikke vises, men alle tegnelementene vises på skjermen på grunn av sammenlignbare objekter.

Konklusjon

Java TreeSet-klassen består bare av særegne elementer som HashSet. TreeSet er den optimale måten å lagre store mengder relevante data på på grunn av dens raske tilgjengelighet og gjenfinningsvarighet, noe som muliggjør rask dataoppdagelse. Dokumentet dekker det grunnleggende i TreeSet-klassen, inkludert dens erklæring. I tillegg diskuteres ulike metoder og operasjoner også her.