Useimmat ohjelmointikielet tukevat ryhmiä. Se on tietorakenne, jota käytetään saman tietotyypin useiden elementtien tallentamiseen. Jos kuudelle elementille on ilmoitettu taulukko, sitä ei voida käyttää kymmenen elementin tallentamiseen. Siksi taulukot eivät ole dynaamisia eivätkä voi muuttaa taulukon kokoa, kun se on ilmoitettu. Ohjelmointikielet, kuten Java, tukevat kokoelmia, joita käytetään tietojen dynaamiseen tallentamiseen. Kokoelmat tukevat toimintoja, kuten elementtien lisäämistä ja elementtien poistamista. Keräyshierarkiassa on useita rajapintoja ja luokkia. Perusrajapinta on Collection-rajapinta. Set on käyttöliittymä, joka laajentaa Collection-käyttöliittymää. Se ei salli kopiointia. TreeSet ja HashSet ovat kaksi luokkaa kokoelmahierarkiassa ja molemmat toteuttavat Set-käyttöliittymän. TreeSet on luokka, joka toteuttaa Set-käyttöliittymän, ja sitä käytetään yksilöivien elementtien tallentamiseen nousevassa järjestyksessä. HashSet on sarja, joka toteuttaa Set-käyttöliittymän, ja sitä käytetään yksilöivien elementtien tallentamiseen Hashing-mekanismin avulla. avainero välillä TreeSet ja HashSet on se TreeSet tallentaa elementit nousevaan järjestykseen, kun taas HashSet ei tallenna elementtejä nousevaan järjestykseen.. Sekä TreeSet että HashSet tallentavat vain ainutlaatuisia elementtejä.
1. Yleiskatsaus ja keskeiset erot
2. Mikä on TreeSet
3. Mikä on HashSet
4. TreeSetin ja HashSetin väliset yhtäläisyydet
5. Vertailu rinnakkain - TreeSet vs HashSet taulukkomuodossa
6. Yhteenveto
TreeSet-luokka toteuttaa NavigableSet-käyttöliittymän. NavigableSet-käyttöliittymä laajentaa SortedSet-, Set-, Collection- ja Iterable-rajapinnat hierarkkisessa järjestyksessä. TreeSet ylläpitää aina nousevaa järjestystä. Jos elementit lisättiin järjestyksessä B, A, C, ne tallennetaan nimellä A, B, C. Menetelmiä, kuten lisää (), poista (), voidaan käyttää TreeSet-objektin kanssa. Lisäämismenetelmää voidaan käyttää elementin lisäämiseen. Poistamismenetelmää käytetään elementin poistamiseen kokoelmasta. Nämä ovat joitain menetelmiä, joita voidaan käyttää TreeSetin kanssa.
Kuva 01: Ohjelma TreeSet-ohjelmalla
Yllä olevan ohjelman mukaan luodaan objekti, jonka tyyppi on TreeSet. Merkkijonodatan elementit lisätään objektiin lisäämismenetelmää käyttämällä. Tietojen lisäysjärjestys on A, D, A, B, C, D. Iteraattorilla tallennetut arvot tulostetaan näytölle. Lähtö on A, B, C, D. Vaikkakin on kaksi A-kirjainta ja kaksi D-kirjainta, ulostulossa näkyy yksi A ja yksi D. Siksi TreeSet tallentaa ainutlaatuiset elementit. Erityistä lisäysjärjestystä ei ole, mutta tarkkailun yhteydessä voidaan nähdä, että TreeSet ylläpitää elementtien nousevaa järjestystä..
HashSet-luokka laajentaa AbstractSet-luokkaa, joka toteuttaa Set Interface -sovelluksen. Set-rajapinta perii keräys- ja jäljitettävät rajapinnat hierarkkisessa järjestyksessä. HashSetissä ei ole mitään takeita siitä, että elementit ylläpitävät nousevaa järjestystä ja lisättyä järjestystä. Jos lisätty järjestys oli A, B, C, arvot saattavat tallentua muodossa C, A, B. Tallennusjärjestys voi olla myös A, B, C, mutta ei ole takuuta, että lisätty järjestys tai nouseva järjestys säilyy..
Kuva 02: Ohjelma HashSet-ohjelmalla
Yllä olevan ohjelman mukaan luodaan kohde, jonka tyyppi on HashSet. Merkkijonodatan elementit lisätään objektiin lisäämismenetelmää käyttämällä. Lisättyjen tietojen järjestys on L, R, M, M, R, L. Iteraattorin avulla tallennetut arvot tulostetaan näytölle. Tuloste on R L M. Vaikka molemmillakin on kaksi L-, R- ja M-kirjainta, kustakin näytetään vain yksi kirjain. Siksi HashSet tallentaa ainutlaatuisia elementtejä. Tulosta tarkkailtaessa voidaan nähdä, että nousevaa järjestystä ei ole tai että lisätty järjestys säilyy.
TreeSet vs HashSet | |
TreeSet on kokoelmahierarkian luokka, jota käytetään yksilöivien elementtien tallentamiseen nousevassa järjestyksessä. | HashSet on luokka keräyshierarkiassa, jota käytetään yksilöivien elementtien tallentamiseen Hashing-mekanismin avulla. |
Elementtien varastointi | |
TreeSet tallentaa elementit nousevaan järjestykseen. | HashSet ei tallenna elementtejä nousevassa järjestyksessä. |
Ohjelmoinnissa dataelementit on tallennettava dynaamisesti. Ohjelmointikielet, kuten Java, tukevat kokoelmia tämän tehtävän saavuttamiseen. Keräyshierarkiassa on useita rajapintoja ja luokkia. TreeSet ja HashSet ovat kaksi luokkaa kokoelmahierarkiassa. Molemmat toteuttavat Set-käyttöliittymän. TreeSet on luokka, joka toteuttaa Set-käyttöliittymän, ja sitä käytetään yksilöivien elementtien tallentamiseen nousevassa järjestyksessä. HashSet on sarja, joka toteuttaa Set-käyttöliittymän, ja sitä käytetään yksilöivien elementtien tallentamiseen Hashing-mekanismin avulla. Ero TreeSetin ja HashSetin välillä on se, että TreeSet tallentaa elementit nousevassa järjestyksessä, kun taas HashSet ei tallenna elementtejä nousevassa järjestyksessä. Tässä artikkelissa käsiteltiin eroa TreeSetin ja HashSetin välillä.
1. ”TreeSet Java - javatpoint.” JavaPoint. Saatavilla täältä
2. ”HashSet Java - javatpoint”. JavaPoint . Saatavilla täältä