Razlika med HashMap in TreeMap

Kazalo:

Razlika med HashMap in TreeMap
Razlika med HashMap in TreeMap

Video: Razlika med HashMap in TreeMap

Video: Razlika med HashMap in TreeMap
Video: Разница между HashMap и TreeMap Java собеседование 2024, December
Anonim

Ključna razlika – HashMap proti TreeMap

V programiranju obstajajo različni mehanizmi za zbiranje podatkov. Zbirke so ena od metod za shranjevanje podatkov. Programski jeziki, kot je Java, uporabljajo zbirke. Je ogrodje z razredi in vmesniki za shranjevanje in upravljanje nabora podatkovnih elementov. V običajni matriki je določeno število elementov za shranjevanje. To je omejitev nizov. Namesto tega lahko programer uporablja zbirke. Operacije, kot so vstavljanje, brisanje, razvrščanje in iskanje, je mogoče izvajati z uporabo zbirk. V Javi vmesnik Map pripada zbirkam. Zemljevid se uporablja za predstavitev podatkov v parih ključev in vrednosti. Obstajajo samo edinstveni ključi in vsak ima ustrezno vrednost. HashMap in TreeMap sta razreda, ki implementirata vmesnik Map. HashMap je razred zbirke, ki temelji na zemljevidu in se uporablja za shranjevanje parov ključev in vrednosti, ki ne vzdržujejo določenega vrstnega reda v podatkovnih elementih. TreeMap je razred zbirke, ki temelji na zemljevidu in se uporablja za shranjevanje parov ključev in vrednosti, ki ohranjajo naraščajoči vrstni red podatkovnih elementov. Ključna razlika med HashMap in TreeMap je v tem, da HashMap ne vzdržuje določenega vrstnega reda podatkovnih elementov, medtem ko TreeMap ohranja naraščajoči vrstni red podatkovnih elementov.

Kaj je HashMap?

HashMap je razred, ki implementira vmesnik zemljevida. Razširja razred AbstractMap in implementira vmesnik Map. HashMap vsebuje pare ključev in vrednosti. Vsak element je edinstven. Elemente v HashMap je preprosto najti s pomočjo ključa. Deklaracija HashMap je naslednja.

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

K se nanaša na ključ, medtem ko se V nanaša na vrednost, ki ustreza temu posebnemu ključu. Vsak par ključev in vrednosti je vnos v HashMap.

Razlika med HashMap in TreeMap
Razlika med HashMap in TreeMap

Slika 01: Vmesnik zemljevida

Predpostavite scenarij, kot sledi, da bi razumeli HaspMap. Če programer tam želi shraniti nabor imen študentov in ustreznih indeksnih številk, lahko uporabi HashMap. Imena študentov se uporabljajo za iskanje indeksnih številk. Zato so imena študentov ključi, medtem ko so indeksne številke vrednosti.

Razlika med HashMap in TreeMap _Slika 02
Razlika med HashMap in TreeMap _Slika 02

Slika 02: Program HashMap z uporabo Jave

V skladu z zgornjim programom se ustvari objekt HashMap. Nato lahko programer doda elemente z uporabo tega predmeta. Vrednosti je mogoče vstaviti z uporabo metode put. Za pridobivanje vrednosti mora programer uporabiti metodo get s ključem. Pri uporabi studentList.get(“150”); natisne ustrezno ime temu indeksu, ki je Ann. Če programer želi pridobiti vse vrednosti, lahko uporabi Map. Entry za tiskanje vseh ključev in vrednosti. Pri opazovanju izhoda je razvidno, da HashMap ne vzdržuje določenega vrstnega reda. Ne natisne elementov v vstavljenem vrstnem redu. Elementi so natisnjeni v naključnem vrstnem redu.

Kaj je TreeMap?

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

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

K se nanaša na ključ, medtem ko se V nanaša na vrednost, ki ustreza temu posebnemu ključu. Vsak par ključev in vrednosti je vnos v TreeMap.

Ključna razlika med HashMap in TreeMap
Ključna razlika med HashMap in TreeMap

Slika 03: Program TreeMap z uporabo Jave

V skladu z zgornjim programom se ustvari objekt TreeMap. Nato lahko programer doda elemente z uporabo tega predmeta. Vrednosti je mogoče vstaviti z uporabo metode put. Za pridobivanje vrednosti mora programer uporabiti metodo get s ključem. Pri uporabi studentList.get(“150”); natisne ustrezno ime temu indeksu, ki je Ann. Če programer želi pridobiti vse vrednosti, lahko uporabi Map. Entry za tiskanje vseh ključev in vrednosti. Pri opazovanju rezultatov je razvidno, da TreeMap vzdržuje določen vrstni red. Elementi so natisnjeni v naraščajočem vrstnem redu.

Kakšne so podobnosti med HashMap in TreeMap?

  • Tako HashMap kot TreeMap izvajata vmesnik Map.
  • Tako HashMap kot TreeMap lahko shranita in manipulirata s številnimi elementi.
  • Tako HashMap kot TreeMap vsebujeta pare ključev in vrednosti.
  • Tako HashMap kot TreeMap imata lahko veliko ničelnih vrednosti.
  • Število elementov, ki jih je mogoče shraniti v HashMap in TreeMap, ni omejeno.

Kakšna je razlika med HashMap in TreeMap?

HashMap proti TreeMap

A HashMap je zbirni razred, ki temelji na zemljevidu in se uporablja za shranjevanje parov ključev in vrednosti, ki ne vzdržujejo posebnega vrstnega reda v podatkovnih elementih. TreeMap je razred zbirke, ki temelji na zemljevidu in se uporablja za shranjevanje parov ključev in vrednosti, ki ohranja naraščajoči vrstni red podatkovnih elementov.
Naročilo
HashMap ne vzdržuje vrstnega reda. TreeMap ohranja naraščajoči vrstni red.
Null Key
HashMap lahko vsebuje en ničelni ključ. TreeMap ne more imeti ničelnega ključa.
Zmogljivost
HashMap je hitrejši od TreeMap. TreeMap je počasnejši od HashMap.

Povzetek – HashMap proti TreeMap

Programski jeziki, kot je Java, vsebujejo okvir zbirke. V nizih je lahko določeno število elementov. Zato je treba velikost polja inicializirati na začetku. V zbirkah lahko programer po potrebi shrani veliko elementov. Ni posebne količine za shranjevanje. Zemljevid je vmesnik, ki pripada ogrodju zbirke. HashMap je razred zbirke, ki temelji na zemljevidu in se uporablja za shranjevanje parov ključev in vrednosti, ki ne vzdržujejo določenega vrstnega reda v podatkovnih elementih. TreeMap je razred zbirke, ki temelji na zemljevidu in se uporablja za shranjevanje parov ključev in vrednosti, ki ohranja naraščajoči vrstni red podatkovnih elementov. Ta članek je obravnaval razliko med HashMap in TreeMap, ki implementira vmesnik Map. Razlika med HashMap in TreeMap je v tem, da HashMap ne vzdržuje določenega vrstnega reda podatkovnih elementov, medtem ko TreeMap ohranja naraščajoči vrstni red podatkovnih elementov.

Priporočena: