Avainero – HashMap vs TreeMap
Ohjelmoinnissa on erilaisia mekanismeja tiedon keräämiseen. Kokoelmat ovat yksi tapa tallentaa tietoja. Ohjelmointikielet, kuten Java, käyttävät kokoelmia. Se on kehys, jossa on luokkia ja rajapintoja tietoelementtien tallentamiseen ja käsittelyyn. Normaalissa taulukossa tallennettavia elementtejä on kiinteä määrä. Se on taulukkojen rajoitus. Sen sijaan ohjelmoija voi käyttää kokoelmia. Toiminnot, kuten lisääminen, poistaminen, lajittelu ja haku voidaan suorittaa kokoelmien avulla. Javassa Map-käyttöliittymä kuuluu kokoelmiin. Karttaa käytetään avain-arvoparien tietojen esittämiseen. On vain yksilöllisiä avaimia, ja jokaisella on vastaava arvo. HashMap ja TreeMap ovat luokkia, jotka toteuttavat Map-käyttöliittymän. HashMap on karttapohjainen kokoelmaluokka, jota käytetään avain- ja arvoparien tallentamiseen, jotka eivät ylläpidä tiettyä järjestystä tietoelementeissä. TreeMap on karttapohjainen kokoelmaluokka, jota käytetään avain- ja arvoparien tallentamiseen, jotka ylläpitävät tietoelementtien nousevaa järjestystä. avainero HashMapin ja TreeMapin välillä on, että HashMap ei ylläpidä tiettyä järjestystä tietoelementeissä, kun taas TreeMap ylläpitää tietoelementtien nousevaa järjestystä.
Mikä on HashMap?
HashMap on luokka, joka toteuttaa karttarajapinnan. 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 avaimella. HashMapin ilmoittaminen tapahtuu seuraavasti.
julkinen luokka HashMap laajentaa AbstractMap toteuttaa kartan, kloonattavan, serialoitavan
K viittaa avaimeen, kun taas V viittaa arvoon, joka vastaa kyseistä avainta. Jokainen avain- ja arvopari on HashMapin merkintä.
Kuva 01: Karttakäyttöliittymä
Ole seuraava skenaario ymmärtääksesi HaspMapin. Jos ohjelmoija haluaa tallentaa sinne joukon oppilaiden nimiä ja vastaavia indeksinumeroita, hän voi käyttää HashMapia. Oppilaiden nimiä käytetään indeksinumeroiden etsimiseen. Siksi oppilaiden nimet ovat avaimia, kun taas indeksinumerot ovat arvoja.
Kuva 02: Javaa käyttävä HashMap-ohjelma
Yllä olevan ohjelman mukaisesti luodaan HashMap-objekti. Sitten ohjelmoija voi lisätä elementtejä käyttämällä kyseistä objektia. Arvot voidaan lisätä put-menetelmällä. Ohjelmoijan tulee noutaa arvot käyttämällä get-menetelmää avaimen kanssa. Käytettäessä studentList.get("150"); se tulostaa vastaavan nimen tälle hakemistolle, joka on Ann. Jos ohjelmoija haluaa saada kaikki arvot, hän voi tulostaa kaikki avaimet ja arvot käyttämällä Map. Entryä. Tulosta tarkasteltaessa voidaan nähdä, että HashMap ei ylläpidä 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. Kuten HashMap, sitä käytetään myös avain- ja arvoparien tallentamiseen, mutta nousevassa järjestyksessä. TreeMap toteuttaa NavigableMap ja NavigableMap laajentaa SortedMap ja SortedMap laajentaa karttaa. Jokainen elementti on ainutlaatuinen. TreeMapin ilmoittaminen tapahtuu seuraavasti.
julkinen luokka TreeMap laajentaa AbstractMap toteuttaa NavigableMap, Cloneable, Serialisable
K viittaa avaimeen, kun taas V viittaa arvoon, joka vastaa kyseistä avainta. Jokainen avain- ja arvopari on TreeMapin merkintä.
Kuva 03: TreeMap-ohjelma Javaa käyttävällä
Yllä olevan ohjelman mukaisesti luodaan TreeMap-objekti. Sitten ohjelmoija voi lisätä elementtejä käyttämällä kyseistä objektia. Arvot voidaan lisätä put-menetelmällä. Ohjelmoijan tulee noutaa arvot käyttämällä get-menetelmää avaimen kanssa. Käytettäessä studentList.get("150"); se tulostaa vastaavan nimen tälle hakemistolle, joka on Ann. Jos ohjelmoija haluaa saada kaikki arvot, hän voi tulostaa kaikki avaimet ja arvot käyttämällä Map. Entryä. Tulosta tarkasteltaessa voidaan nähdä, että TreeMap ylläpitää tiettyä järjestystä. Elementit tulostetaan nousevassa järjestyksessä.
Mitä yhtäläisyyksiä HashMapin ja TreeMapin välillä on?
- Sekä HashMap että TreeMap toteuttavat karttaliittymän.
- Sekä HashMap että TreeMap voivat tallentaa ja käsitellä monia elementtejä.
- Sekä HashMap että TreeMap sisältävät avain- ja arvopareja.
- Sekä HashMapissa että TreeMapissa voi olla monia nolla-arvoja.
- Sekä HashMapiin että TreeMapiin tallennettavien elementtien määrää ei ole rajoitettu.
Mitä eroa on HashMapin ja TreeMapin välillä?
HashMap vs TreeMap |
|
HashMap on karttapohjainen kokoelmaluokka, jota käytetään avain- ja arvoparien tallentamiseen, jotka eivät ylläpidä tiettyä järjestystä tietoelementeissä. | A TreeMap on karttapohjainen kokoelmaluokka, jota käytetään avain- ja arvoparien tallentamiseen ja joka ylläpitää tietoelementtien nousevaa järjestystä. |
Tilaa | |
HashMap ei ylläpidä järjestystä. | TreeMap säilyttää nousevassa järjestyksessä. |
Nullanäppäin | |
HashMap voi sisältää yhden tyhjäavaimen. | Puukartalla ei voi olla tyhjä-avainta. |
Esitys | |
HashMap on nopeampi kuin TreeMap. | TreeMap on hitaampi kuin HashMap. |
Yhteenveto – HashMap vs TreeMap
Ohjelmointikielet, kuten Java, sisältävät kokoelmakehyksen. Tauluissa voi olla kiinteä määrä elementtejä. Siksi taulukon koko tulee alustaa alussa. Kokoelmiin ohjelmoija voi tallentaa useita elementtejä tarpeen mukaan. Ei ole olemassa tiettyä varastoitavaa määrää. Kartta on käyttöliittymä, joka kuuluu kokoelmakehykseen. HashMap on karttapohjainen kokoelmaluokka, jota käytetään avain- ja arvoparien tallentamiseen, jotka eivät ylläpidä tiettyä järjestystä tietoelementeissä. TreeMap on karttapohjainen kokoelmaluokka, jota käytetään avain- ja arvoparien tallentamiseen ja joka ylläpitää tietoelementtien nousevaa järjestystä. Tässä artikkelissa käsiteltiin HashMapin ja Map-käyttöliittymän toteuttavan TreeMapin eroa. Ero HashMapin ja TreeMapin välillä on, että HashMap ei ylläpidä tiettyä järjestystä tietoelementeissä, kun taas TreeMap ylläpitää tietoelementtien nousevaa järjestystä.