HashMapin ja TreeMapin ero

Sisällysluettelo:

HashMapin ja TreeMapin ero
HashMapin ja TreeMapin ero

Video: HashMapin ja TreeMapin ero

Video: HashMapin ja TreeMapin ero
Video: Урок 15 - HashMap в деталях. Часть 1 (прокачанная Java) 2024, Marraskuu
Anonim

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ä.

Ero HashMapin ja TreeMapin välillä
Ero HashMapin ja TreeMapin välillä

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.

Ero HashMapin ja TreeMapin välillä _Kuva 02
Ero HashMapin ja TreeMapin välillä _Kuva 02

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ä.

Keskeinen ero HashMapin ja TreeMapin välillä
Keskeinen ero HashMapin ja TreeMapin välillä

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ä.

Suositeltava: