Razlika med HashMap in TreeMap

Ključna razlika - HashMap vs TreeMap
 

Pri programiranju obstajajo različni mehanizmi za zbiranje podatkov. Zbirke so ena od metod za shranjevanje podatkov. Programski jeziki, kot je Java, uporabljajo Zbirke. Je okvir z razredi in vmesniki za shranjevanje in manipuliranje nabora podatkovnih elementov. V običajnem nizu je za shranjevanje določeno število elementov. To je omejitev nizov. Namesto tega lahko programer uporablja zbirke. Operacije, kot so vstavljanje, brisanje, razvrščanje in iskanje, se lahko izvajajo s pomočjo zbirk. Na Javi vmesnik Map pripada zbirkam. Zemljevid se uporablja za predstavljanje podatkov v parih ključev, vrednosti. Obstajajo samo unikatni ključi in vsak ima ustrezno vrednost. HashMap in TreeMap sta razreda, ki izvajata vmesnik Map. HashMap je zbirni razred, ki temelji na zemljevidu, ki se uporablja za shranjevanje parov ključev in vrednosti, ki v podatkovnih elementih ne vzdržujejo določenega reda. TreeMap je zbirni razred, ki temelji na zemljevidu, ki se uporablja za shranjevanje parov ključev in vrednosti, ki vzdržujejo naraščajoči vrstni red podatkovnih elementov. The ključna razlika med HashMapom in TreeMapom je to HashMap ne vzdržuje posebnega reda v podatkovnih elementih, medtem ko TreeMap vzdržuje vrstni red naraščajočih podatkovnih elementov.

VSEBINA

1. Pregled in ključne razlike
2. Kaj je HashMap
3. Kaj je TreeMap
4. Podobnosti med HashMap in TreeMap
5. Primerjava ob strani - HashMap proti TreeMap v tabeli
6. Povzetek

Kaj je HashMap?

HashMap je razred, ki izvaja vmesnik zemljevidov. Razširja razred AbstractMap in izvaja vmesnik Map. HashMap vsebuje pare ključ in vrednost. Vsak element je edinstven. Elemente v HashMapu je enostavno najti s tipko. Razglasitev HashMap je naslednja.

javni razred HashMap razširja AbstractMap izvaja Map, Cloneable, Serializable

K se nanaša na ključ, V pa na vrednost, ki ustreza temu določenemu ključu. Vsak ključ, vrednostni par je vnos HashMap-a.

Slika 01: Vmesnik zemljevida

Predpostavimo naslednji scenarij za razumevanje HaspMap-a. Če tam programer želi shraniti niz imen študentov in ustreznih številk indeksov, lahko uporabi HashMap. Imena študentov se uporabljajo za iskanje indeksnih števil. Zato so imena študentov ključ, medtem ko so vrednosti indeksov vrednosti.

Slika 02: Program HashMap z uporabo Jave

Po zgornjem programu se ustvari objekt HashMap. Nato lahko programer doda elemente s tem objektom. Vrednosti je mogoče vstaviti s pomočjo metode put. Za pridobitev vrednosti mora programer uporabiti metodo get s tipko. Ko uporabljate studentList.get ("150"); bo natisnila ustrezno ime v ta indeks, ki je Ann. Če želi programer pridobiti vse vrednosti, lahko uporabi Map.Entry za tiskanje vseh ključev in vrednosti. Ko opazujemo izhod, je razvidno, da HashMap ne vzdržuje določenega reda. Elementov ne natisne v vstavljenem vrstnem redu. Elementi so natisnjeni v naključnem vrstnem redu.

Kaj je TreeMap?

TreeMap je razred na Javi, ki izvaja vmesnik Map. Podobno kot HashMap se tudi uporablja za shranjevanje ključev, vrednostnih parov, vendar v naraščajočem vrstnem redu. TreeMap izvaja NavigableMap in NavigableMap razširja SortedMap, SortedMap pa razširja Map. Vsak element je edinstven. Razglasitev TreeMap je naslednja.

javni razred TreeMap razširja AbstractMap izvaja NavigableMap, Cloneable, Serializable

K se nanaša na ključ, V pa na vrednost, ki ustreza temu določenemu ključu. Vsak ključ, vrednostni par je vnos TreeMap-a.

Slika 03: Program TreeMap z uporabo Jave

Po zgornjem programu se ustvari objekt TreeMap. Nato lahko programer doda elemente s tem objektom. Vrednosti je mogoče vstaviti s pomočjo metode put. Za pridobitev vrednosti mora programer uporabiti metodo get s tipko. Ko uporabljate studentList.get ("150"); bo natisnila ustrezno ime v ta indeks, ki je Ann. Če želi programer pridobiti vse vrednosti, lahko uporabi Map.Entry za tiskanje vseh ključev in vrednosti. Ko opazujemo izhod, je razvidno, da TreeMap vzdržuje določen vrstni red. Elementi so natisnjeni v naraščajočem vrstnem redu.

Kakšne so podobnosti med HashMapom in TreeMapom?

  • Tako HashMap kot TreeMap izvajata vmesnik Map.
  • Tako HashMap kot TreeMap lahko shranjujete in manipulirate s številnimi elementi.
  • Tako HashMap kot TreeMap vsebuje par ključev in vrednosti.
  • Tako HashMap kot TreeMap imata lahko veliko ničelnih vrednosti.
  • Število elementov, ki jih lahko shranite v HashMap in TreeMap, ni omejitev.

Kakšna je razlika med HashMapom in TreeMapom?

HashMap proti TreeMap

HashMap je zbirni razred, ki temelji na zemljevidu, ki se uporablja za shranjevanje parov ključev in vrednosti, ki v podatkovnih elementih ne vzdržujejo določenega reda. TreeMap je zbirni razred, ki temelji na zemljevidu, ki se uporablja za shranjevanje parov ključev in vrednosti, ki vzdržuje naraščajoči vrstni red podatkovnih elementov.
 Naročilo
HashMap ne vzdržuje reda. TreeMap vzdržuje naraščajoči vrstni red.
Null Key
HashMap lahko vsebuje eno ničelno tipko. TreeMap ne more imeti ničelnega ključa.
 Izvedba
HashMap je hitrejši kot TreeMap. TreeMap je počasnejši od HashMap-a.

Povzetek - HashMap vs TreeMap

Programski jeziki, kot je Java, vsebujejo okvir zbiranja. V nizih je lahko določeno število elementov. Zato je treba velikost matrike sprožiti na začetku. V zbirkah lahko programer shrani veliko elementov, kot je potrebno. Ni določenega zneska za shranjevanje. Zemljevid je vmesnik, ki spada v okvir zbiranja. HashMap je zbirni razred, ki temelji na zemljevidu, ki se uporablja za shranjevanje parov ključev in vrednosti, ki v podatkovnih elementih ne vzdržujejo določenega reda. TreeMap je zbirni razred, ki temelji na zemljevidu, ki se uporablja za shranjevanje parov ključev in vrednosti, ki vzdržuje naraščajoči vrstni red podatkovnih elementov. Ta članek obravnava razliko med HashMapom in TreeMapom, ki izvaja vmesnik Map. Razlika med HashMap in TreeMap je v tem, da HashMap ne vzdržuje določenega reda v podatkovnih elementih, medtem ko TreeMap vzdržuje naraščajoči vrstni red podatkovnih elementov.

Referenca:

1. "HashMap v Javi - javatpoint." Točka, Na voljo tukaj
2. "TreeMap v Javi - javatpoint."  Točka, Na voljo tukaj

Vljudnost slik:

1.'Java.util.Miena hierarhija'By ramlmn - Lastno delo, (CC BY-SA 4.0) prek Commons Wikimedia