Skirtumas tarp HashMap ir TreeMap

Turinys:

Skirtumas tarp HashMap ir TreeMap
Skirtumas tarp HashMap ir TreeMap

Video: Skirtumas tarp HashMap ir TreeMap

Video: Skirtumas tarp HashMap ir TreeMap
Video: Рефакторинг: switch vs if-else vs enum vs HashMap [Шаблон "Команда"] 2024, Lapkritis
Anonim

Pagrindinis skirtumas – HashMap vs TreeMap

Programuojant yra įvairių duomenų rinkimo mechanizmų. Kolekcijos yra vienas iš duomenų saugojimo būdų. Programavimo kalbos, tokios kaip Java, naudoja kolekcijas. Tai sistema su klasėmis ir sąsajomis, skirta duomenų elementų rinkiniui saugoti ir manipuliuoti. Įprastame masyve saugomas fiksuotas elementų skaičius. Tai yra masyvų apribojimas. Vietoj to programuotojas gali naudoti kolekcijas. Tokios operacijos kaip įterpimas, trynimas, rūšiavimas ir paieška gali būti atliekamos naudojant rinkinius. Java, žemėlapio sąsaja priklauso kolekcijoms. Žemėlapis naudojamas duomenims pateikti rakto, reikšmių porose. Yra tik unikalūs raktai ir kiekvienas turi atitinkamą reikšmę. HashMap ir TreeMap yra klasės, įgyvendinančios žemėlapio sąsają. HashMap yra žemėlapiu pagrįsta rinkimo klasė, kuri naudojama raktų ir reikšmių poroms, kurios nepalaiko konkrečios duomenų elementų tvarkos, saugoti. „TreeMap“yra žemėlapiu pagrįsta rinkimo klasė, naudojama raktų ir reikšmių poroms saugoti, išlaikančioms didėjančią duomenų elementų tvarką. Pagrindinis skirtumas tarp „HashMap“ir „TreeMap“yra tas, kad „HashMap“nepalaiko konkrečios duomenų elementų tvarkos, o „TreeMap“– didėjančia duomenų elementų tvarka.

Kas yra HashMap?

HashMap yra klasė, kuri įgyvendina žemėlapio sąsają. Tai išplečia AbstractMap klasę ir įgyvendina žemėlapio sąsają. HashMap yra raktų, reikšmių poros. Kiekvienas elementas yra unikalus. „HashMap“elementus lengva rasti naudojant klavišą. „HashMap“deklaravimas yra toks.

viešoji klasė „HashMap“išplečia „AbstractMap“įgyvendina žemėlapį, klonuojamą, serializuojamą

K nurodo raktą, o V – reikšmę, atitinkančią tą konkretų klavišą. Kiekviena raktų, reikšmių pora yra HashMap įrašas.

Skirtumas tarp HashMap ir TreeMap
Skirtumas tarp HashMap ir TreeMap

01 pav.: žemėlapio sąsaja

Kad suprastumėte HaspMap, įsivaizduokite tokį scenarijų. Jei programuotojas nori išsaugoti mokinių vardų ir atitinkamų indeksų numerių rinkinį, jis gali naudoti HashMap. Studentų vardai naudojami indekso numeriams rasti. Todėl mokinių vardai yra raktai, o indekso skaičiai yra reikšmės.

Skirtumas tarp HashMap ir TreeMap _02 pav
Skirtumas tarp HashMap ir TreeMap _02 pav

02 pav. HashMap programa naudojant Java

Pagal aukščiau pateiktą programą sukuriamas HashMap objektas. Tada programuotojas gali pridėti elementus naudodamas tą objektą. Vertes galima įterpti naudojant put metodą. Norėdami gauti reikšmes, programuotojas turėtų naudoti metodą gauti su raktu. Kai naudojate studentList.get("150"); bus išspausdintas atitinkamas indekso pavadinimas, kuris yra Ann. Jei programuotojas nori gauti visas reikšmes, jis gali naudoti Map. Entry, kad atspausdintų visus raktus ir reikšmes. Stebint išvestį matyti, kad HashMap nepalaiko konkrečios tvarkos. Ji nespausdina elementų įterpta tvarka. Elementai spausdinami atsitiktine tvarka.

Kas yra TreeMap?

The TreeMap yra Java klasė, kuri įgyvendina žemėlapio sąsają. Panašiai kaip „HashMap“, jis taip pat naudojamas raktų, reikšmių poroms saugoti, bet didėjančia tvarka. „TreeMap“įgyvendina „NavigableMap“, o „NavigableMap“išplečia „SortedMap“, o „SortedMap“išplečia žemėlapį. Kiekvienas elementas yra unikalus. „TreeMap“deklaravimas yra toks.

viešoji klasė TreeMap išplečia AbstractMap įgyvendina NavigableMap, Cloneable, Serializable

K nurodo raktą, o V – reikšmę, atitinkančią tą konkretų klavišą. Kiekviena raktų, reikšmių pora yra „TreeMap“įrašas.

Pagrindinis skirtumas tarp HashMap ir TreeMap
Pagrindinis skirtumas tarp HashMap ir TreeMap

03 pav. TreeMap programa naudojant Java

Pagal aukščiau pateiktą programą sukuriamas TreeMap objektas. Tada programuotojas gali pridėti elementus naudodamas tą objektą. Vertes galima įterpti naudojant put metodą. Norėdami gauti reikšmes, programuotojas turėtų naudoti metodą gauti su raktu. Kai naudojate studentList.get("150"); bus išspausdintas atitinkamas indekso pavadinimas, kuris yra Ann. Jei programuotojas nori gauti visas reikšmes, jis gali naudoti Map. Entry, kad atspausdintų visus raktus ir reikšmes. Stebint išvestį, matyti, kad TreeMap palaiko tam tikrą tvarką. Elementai spausdinami didėjančia tvarka.

Kokie yra HashMap ir TreeMap panašumai?

  • Tiek HashMap, tiek TreeMap įgyvendina žemėlapio sąsają.
  • Tiek HashMap, tiek TreeMap gali saugoti ir valdyti daug elementų.
  • Tiek HashMap, tiek TreeMap yra raktų, reikšmių poros.
  • Tiek HashMap, tiek TreeMap gali turėti daug nulinių reikšmių.
  • Elementų, kuriuos galima saugoti „HashMap“ir „TreeMap“, skaičius neribojamas.

Kuo skiriasi HashMap ir TreeMap?

HashMap vs TreeMap

A HashMap yra žemėlapiu pagrįsta rinkimo klasė, kuri naudojama raktų ir reikšmių poroms, kurios nepalaiko konkrečios duomenų elementų tvarkos, saugoti. A TreeMap yra žemėlapiu pagrįsta rinkimo klasė, naudojama raktų ir reikšmių poroms saugoti, kuri palaiko duomenų elementų didėjimo tvarką.
Užsakyti
HashMap nepalaiko tvarkos. Medžio žemėlapis išlaiko didėjančią tvarką.
Nulio klavišas
HashMap gali turėti vieną nulinį raktą. Medžio žemėlapis negali turėti nulinio rakto.
Atlikimas
HashMap yra greitesnis nei TreeMap. TreeMap yra lėtesnis nei HashMap.

Santrauka – HashMap vs TreeMap

Programavimo kalbose, pvz., „Java“, yra rinkinio sistema. Masyvuose gali būti fiksuotas elementų skaičius. Todėl masyvo dydis turėtų būti inicijuotas pradžioje. Kolekcijose programuotojas gali saugoti daug elementų pagal poreikį. Konkrečios saugomos sumos nėra. Žemėlapis yra sąsaja, priklausanti kolekcijos sistemai. HashMap yra žemėlapiu pagrįsta rinkimo klasė, naudojama raktų ir reikšmių poroms, kurios nepalaiko konkrečios duomenų elementų tvarkos, saugoti. „TreeMap“yra žemėlapiu pagrįsta rinkimo klasė, naudojama raktų ir reikšmių poroms saugoti, kuri palaiko duomenų elementų didėjimo tvarką. Šiame straipsnyje aptariamas skirtumas tarp HashMap ir TreeMap, kuris įgyvendina žemėlapio sąsają. Skirtumas tarp „HashMap“ir „TreeMap“yra tas, kad „HashMap“nepalaiko konkrečios duomenų elementų tvarkos, o „TreeMap“– didėjančia duomenų elementų tvarka.

Rekomenduojamas: