Java TreeSet

Java Treeset



TreeSetiä pidetään yhtenä perustavanlaatuisimmista SortedSet-toteutuksista, jotka käyttävät puuta ensisijaisena tallennustyyppinä. TreeSetissä jokainen arvo tallennetaan lajiteltuun järjestykseen. Oletusarvoisesti kaikki numeeriset arvot säilytetään nousevassa järjestyksessä ja merkkijonoja käsitellään sanakirjapohjaisessa järjestyksessä. TreeSet ylläpitää nousevaa ja sanakirjapohjaista järjestystä riippumatta siitä, onko vertailukelpoinen määritetty vai ei. Set-käyttöliittymän toteuttamiseksi oikein TreeSetin on oltava yhdenmukainen vertailukelpoisen kanssa. Lisäksi nolla-arvot eivät ole hyväksyttäviä TreeSetissä.

Esimerkki 1

Add()-menetelmää tarvitaan TreeSet-elementtien lisäämiseen. Määritetty elementti lisätään käyttäen samaa lajittelujärjestystä kuin TreeSet luotaessa. Se ei lisää päällekkäisiä merkintöjä.









Edellisen koodin sisään olemme lisänneet Java-apuluokan päästäksemme Java-luokkiin ja -menetelmiin. Seuraavaksi Main()-metodi sisältyy luokan 'CreatingTreeSet' määritelmään. Olemme testanneet TreeSet-koodia main()-metodin sisällä. Olemme ensin luoneet TreeSet-luokasta muuttujan 'person' ja asettanut tyhjän TreeSet-rajapinnan ilmoitettuun muuttujaan 'persons'.



Huomaa, että olemme lisänneet vain merkkijonoelementit, koska TreeSetin tietotyyppi on määritetty sen käyttöliittymän luomisen yhteydessä. Olemme lisänneet viisi merkkijonoelementtiä TreeSetiin, jossa jokainen merkkijonoelementti on ainutlaatuinen. Sitten käytiin läpi TreeSetin jokainen elementti iterator()-menetelmästä, joka tulostetaan nousevassa järjestyksessä tulosnäytölle.





TreeSet-rajapinnalla luodut elementit haetaan tulosteena seuraavassa tulostenapsauksessa:



Esimerkki 2

TreeSetin luomisen jälkeen elementteihin pääsee käsiksi TreeSetin tukemalla sisäänrakennetulla menetelmällä. Content()-menetelmä tarkistaa TreeSetin tietyn elementin. First()-menetelmä hakee TreeSetin alkuelementin, kun taas last()-menetelmä hakee TreeSetin loppuelementin.

Hyötyluokan tuonnin jälkeen olemme määrittäneet luokan “AccessingTreeSet”. Seuraavaksi otimme käyttöön main()-menetelmän määritetyssä Java-luokassa TreeSet-elementtien käyttämiseksi. Olemme ilmoittaneet 'Colors'-objektin, jonka tyyppi on NavigableSet TreeSet-luokkaan viitaten. TreeSet() on tyhjä, ja se lisätään merkkijonoarvoihin kutsumalla add()-metodia. Täällä olemme lisänneet kolme merkkijonoarvoa, eri värien nimet. Tämän jälkeen TreeSet-arvot näkyvät näytöllä print-lausunnon kautta. Seuraavaksi olemme luoneet muuttujan 'find', jossa merkkijono alustetaan tarkistamista varten. Tarkistaaksemme, onko merkkijono olemassa annetuissa puissa, olemme kutsuneet include()-metodia ja lisänneet 'find'-muuttujan parametriksi. Contains()-metodi varmistaa TreeSetin määritetyn merkkijonoelementin olemassaolon ja luo Boolen tulokset. Lisäksi olemme saaneet TreeSetin ensimmäisen ja viimeisen elementin first()-metodista ja last()-metodista. Molemmat menetelmät luovat tietyn elementin, joka on asetettu ensimmäiseen ja viimeiseen kohtaan toimitetussa TreeSetissä.

Tietyn merkkijonon tarkistus include()-metodista palauttaa todellisen arvon, joka osoittaa, että merkkijonoelementti on osa include()-metodia. Seuraavaksi TreeSetin ensimmäinen arvo ja viimeinen arvo näkyvät myös alla:

Esimerkki 3

Ensimmäistä ja viimeistä elementtiä on käytetty edellisessä esimerkissä. Korkeimpien ja alhaisimpien elementtien käyttämiseen ja poistamiseen käytetään pollFirst()- ja pollLast()-menetelmiä. PollFirst()-menetelmää käytetään alimman elementin hakemiseen ja poistamiseen ensimmäisestä. PollLast()-menetelmää käytetään paikantamaan ja poistamaan puujoukon viimeisestä korkein elementti.

Ohjelma on perustettu Java-luokassa “LowerAndHigherValueFromTreeSet”, jossa muodostetaan main()-metodi. Tässä olemme tarjonneet TreeSet-rajapinnan TreeSet-luokasta ilmoittamalla objektin 'IntegerSet'. Aluksi olemme luoneet tyhjän TreeSetin, joka voidaan lisätä elementin kanssa käyttämällä add()-menetelmää. Kokonaislukukohteet ladataan TreeSet-ryhmään add()-menetelmällä.

Sen jälkeen annoimme print-käskyn pollFirst()-metodilla ja pollLast(). PollFirst()-menetelmä saa ensimmäiset pienimmät elementit määritetystä puujoukosta. Toisaalta pollLast()-metodi saa korkeimman elementin TreeSetin viimeisestä.

Tulokset saadaan pollFirst()- ja pollLast()-menetelmistä, jotka näyttivät TreeSetin alimman ja suurimman elementin tulosteessa.

Esimerkki 4

Clear()-menetelmää käytetään poistamaan kaikki TreeSetissä olevat elementit. Tyhjä TreeSet palautetaan, kun clear()-metodi on toteutettu TreeSetissä.

Julkinen luokka “ClearTreeSet” on asetettu main()-metodilla edellisessä ohjelmassa. Olemme luoneet sinne tyhjän TreeSetin, joka on asetettu TreeSet-luokan muuttujaan ”SetElements”. Sitten lisäsimme satunnaisluvut add()-metodin avulla TreeSetiin. Seuraavaksi tulostimme TreeSetin näyttääksemme sen sisällä olevat elementit. Näytön jälkeen olemme käyttäneet Clear()-menetelmää TreeSetin tyhjentämiseen.

Esimerkki 5

TreeSet ei salli heterogeenisten elementtien lisäämistä. Jos yritämme lisätä luokan heterogeenisiä objekteja, 'classCastException' heitetään ajon aikana. TreeSet hyväksyy vain homogeeniset ja vertailukelpoiset objektit.

Olemme ottaneet käyttöön main()-menetelmän Java-luokassa 'HeterogenousObjectTreeSet', jossa olemme asettanut TreeSet-rajapinnan. TreeSet määritellään objektissa 'CharSet'. Elementit lisätään sitten TreeSetin 'CharSet' -objektiin. Olemme lisänneet vastaavat elementit StringBuffer-liittymään. Huomaa, että TreeSetin viimeinen elementti on heterogeeninen, mikä on kokonaislukuarvo. Sitten tulostimme TreeSet-elementit saadaksemme tulokset heterogeenisen elementin hakemisesta.

Tulokset osoittavat, että TreeSetin ensimmäistä indeksiarvoa ei näytetä, mutta kaikki merkkielementit näkyvät näytöllä vertailukelpoisten objektien vuoksi.

Johtopäätös

Java TreeSet -luokka sisältää vain erottuvia elementtejä, kuten HashSet. TreeSet on optimaalinen tapa tallentaa suuria määriä oleellista tietoa sen nopean käytettävyyden ja hakuaikojen ansiosta, mikä helpottaa tietojen nopeaa löytämistä. Dokumentti kattaa TreeSet-luokan perusteet, mukaan lukien sen ilmoituksen. Lisäksi täällä käsitellään erilaisia ​​menetelmiä ja toimintoja.