Tärkein ero - HashMap vs TreeMap
Ohjelmoinnissa on useita mekanismeja tietojen keräämiseksi. Kokoelmat on yksi tapa tallentaa tietoja. Ohjelmointikielet, kuten Java, käyttävät kokoelmia. Se on kehys, jossa on luokkia ja rajapintoja tietoelementtisarjan tallentamiseksi ja käsittelemiseksi. Normaalissa taulukossa on kiinteä määrä elementtejä tallennettavaksi. Se on matriisien rajoitus. Sen sijaan ohjelmoija voi käyttää kokoelmia. Toiminnot, kuten lisääminen, poistaminen, lajittelu ja haku, voidaan suorittaa kokoelmilla. Jaavassa Map-käyttöliittymä kuuluu kokoelmiin. Karttaa käytetään avaimen, arvoparien tietojen esittämiseen. Avaimia on vain yksilöllisiä, ja jokaisella on vastaava arvo. HashMap ja TreeMap ovat luokkia, jotka toteuttavat Map-käyttöliittymän. HashMap on karttaperusteinen kokoeluluokka, jota käytetään avain- ja arvoparien tallentamiseen, jotka eivät yllä tiettyä järjestystä tietoelementeissä. TreeMap on karttaperusteinen kokoeluluokka, jota käytetään avain- ja arvoparien tallentamiseen, jotka ylläpitävät tietoelementtien nousevaa järjestystä. Tärkein ero HashMapin ja TreeMapin välillä on, että HashMap ei ylläpitää tiettyä järjestystä tietoelementeissä, kun taas TreeMap ylläpitää tietoelementtien nousevaa järjestystä.
SISÄLLYS
1. Yleiskatsaus ja keskeinen ero
2. Mikä on HashMap
3. Mikä on TreeMap
4. HashMapin ja TreeMapin yhtäläisyydet
5. Vertailu vierekkäin - HashMap vs TreeMap taulukkomuodossa
6. Yhteenveto
Mikä on HashMap?
HashMap on luokka, joka toteuttaa kartan käyttöliittymän. Se laajentaa AbstractMap-luokkaa ja toteuttaa Map-käyttöliittymän. HashMap sisältää avaimen, arvoparit. Jokainen elementti on ainutlaatuinen. Elementit on helppo löytää HashMapista avaimen avulla. HashMap-julistus on seuraava.
julkisen luokan HashMap laajentaa AbstractMap-sovelluksia Map, Cloneable, Serializable
K viittaa avaimeen, kun taas V viittaa kyseistä avainta vastaavaan arvoon. Jokainen avain, arvo-pari on HashMap-merkintä.
Kuva 01: Karttaliitäntä
Oletetaan seuraava skenaario ymmärtääksesi HaspMapin. Jos siellä ohjelmoija haluaa tallentaa joukon opiskelijoiden nimiä ja vastaavia hakemistonumeroita, hän voi käyttää HashMapia. Opiskelijoiden nimiä käytetään hakemistonumeroiden löytämiseen. Siksi opiskelijoiden nimet ovat avaimet, kun taas hakemistonumerot ovat arvoja.
Kuva 02: HashMap-ohjelma Java-sovelluksella
Yllä olevan ohjelman mukaan luodaan HashMap-objekti. Sitten ohjelmoija voi lisätä elementtejä kyseisen objektin avulla. Arvot voidaan lisätä put-menetelmällä. Arvojen noutamiseksi ohjelmoijan tulisi käyttää get-menetelmää avaimella. Kun käytät studentList.get (“150”); se tulostaa vastaavan nimen hakemistoon, joka on Ann. Jos ohjelmoija haluaa saada kaikki arvot, hän voi tulostaa kaikki avaimet ja arvot Map. Entry-toiminnolla. Lähtöä havaittaessa voidaan nähdä, että HashMap ei ylläpitää tiettyä järjestystä. Se ei tulosta elementtejä lisätyssä järjestyksessä. Elementit tulostetaan satunnaisessa järjestyksessä.
Mikä on TreeMap?
TreeMap on Java-luokka, joka toteuttaa Map-käyttöliittymän. Samoin kuin HashMap, sitä käytettiin myös avain-, arvo-parien tallentamiseen, mutta nousevassa järjestyksessä. TreeMap toteuttaa NavigableMap ja NavigableMap laajentaa SortedMap ja SortedMap laajentaa Map. Jokainen elementti on ainutlaatuinen. TreeMap-julistus on seuraava.
julkinen luokka TreeMap laajentaa AbstractMap-sovelluksia NavigableMap, Cloneable, Serializable
K viittaa avaimeen, kun taas V viittaa kyseistä avainta vastaavaan arvoon. Jokainen avain, arvo-pari on TreeMap-merkintä.
Kuva 03: TreeMap-ohjelma Java-sovelluksella
Yllä olevan ohjelman mukaan luodaan TreeMap-objekti. Sitten ohjelmoija voi lisätä elementtejä kyseisen objektin avulla. Arvot voidaan lisätä put-menetelmällä. Arvojen noutamiseksi ohjelmoijan tulisi käyttää get-menetelmää avaimella. Kun käytät studentList.get (“150”); se tulostaa vastaavan nimen hakemistoon, joka on Ann. Jos ohjelmoija haluaa saada kaikki arvot, hän voi tulostaa kaikki avaimet ja arvot Map. Entry-toiminnolla. Tulosta tarkkailemalla voidaan nähdä, että TreeMap ylläpitää tiettyä järjestystä. Elementit tulostetaan nousevassa järjestyksessä.
Mitkä ovat yhtäläisyydet HashMapin ja TreeMapin välillä?
- Sekä HashMap että TreeMap toteuttavat Map-käyttöliittymän.
- Sekä HashMap että TreeMap voivat tallentaa ja käsitellä monia elementtejä.
- Sekä HashMap että TreeMap sisältävät avainarvopareja.
- Sekä HashMapilla että TreeMapilla voi olla monia nolla-arvoja.
- Sekä HashMapiin että TreeMapiin tallennettavien elementtien lukumäärälle ei ole rajoituksia.
Mikä on ero HashMapin ja TreeMapin välillä?
Erilainen artikkeli keskellä taulukkoa
HashMap vs TreeMap |
|
HashMap on karttaperusteinen kokoeluluokka, jota käytetään tallentamaan avain- ja arvopareja, jotka eivät yllä tiettyä järjestystä tietoelementeissä. | TreeMap on karttapohjainen keräysluokka, jota käytetään avain- ja arvoparien tallentamiseen, mikä ylläpitää tietoelementtien nousevaa järjestystä. |
Tilaus | |
HashMap ei ylläpidä järjestystä. | TreeMap ylläpitää nousevaa järjestystä. |
Null-avain | |
HashMap voi sisältää yhden nolla-avaimen. | TreeMapissa ei voi olla nolla-avainta. |
Esitys | |
HashMap on nopeampi kuin TreeMap. | TreeMap on hitaampi kuin HashMap. |
Yhteenveto - HashMap vs TreeMap
Ohjelmointikielet, kuten Java, sisältävät kokoelmakehyksen. Taulukoissa voi olla kiinteä määrä elementtejä. Siksi taulukon koko tulisi alustaa alussa. Kokoelmissa ohjelmoija voi tallentaa useita elementtejä tarpeen mukaan. Säilytettävää määrää ei ole. Kartta on käyttöliittymä, joka kuuluu kokoelmakehykseen. HashMap on karttaperusteinen kokoeluluokka, jota käytetään tallentamaan avain- ja arvopareja, jotka eivät yllä tiettyä järjestystä tietoelementeissä. TreeMap on karttapohjainen keräysluokka, jota käytetään avain- ja arvoparien tallentamiseen, mikä ylläpitää tietoelementtien nousevaa järjestystä. Tässä artikkelissa käsiteltiin eroa HashMapin ja TreeMapin välillä, joka toteuttaa Map-käyttöliittymän. Ero HashMapin ja TreeMapin välillä on, että HashMap ei ylläpitää tiettyä järjestystä tietoelementeissä, kun taas TreeMap ylläpitää tietoelementtien nousevaa järjestystä.