Pagkakaiba sa pagitan ng HashMap at TreeMap

Talaan ng mga Nilalaman:

Pagkakaiba sa pagitan ng HashMap at TreeMap
Pagkakaiba sa pagitan ng HashMap at TreeMap

Video: Pagkakaiba sa pagitan ng HashMap at TreeMap

Video: Pagkakaiba sa pagitan ng HashMap at TreeMap
Video: Review: Quiz 0 2024, Hunyo
Anonim

Mahalagang Pagkakaiba – HashMap vs TreeMap

Sa programming, mayroong iba't ibang mekanismo para mangolekta ng data. Ang mga koleksyon ay isang paraan upang mag-imbak ng data. Ang mga programming language gaya ng Java ay gumagamit ng Collections. Ito ay isang balangkas na may mga klase at interface para sa pag-iimbak at pagmamanipula ng isang hanay ng mga elemento ng data. Sa isang normal na array, mayroong isang nakapirming bilang ng mga elemento na iimbak. Iyon ay isang limitasyon ng mga array. Sa halip, ang programmer ay maaaring gumamit ng mga koleksyon. Ang mga operasyon tulad ng pagpasok, pagtanggal, pag-uuri at paghahanap ay maaaring isagawa gamit ang mga koleksyon. Sa Java, ang interface ng Map ay kabilang sa mga koleksyon. Ginagamit ang mapa upang kumatawan sa data sa key, mga pares ng halaga. Mayroon lamang mga natatanging key, at bawat isa ay may katumbas na halaga. Ang HashMap at TreeMap ay mga klase na nagpapatupad ng interface ng Map. Ang HashMap ay isang klase ng koleksyon na batay sa Mapa na ginagamit para sa pag-imbak ng mga pares ng susi at halaga na hindi nagpapanatili ng isang partikular na pagkakasunud-sunod sa mga elemento ng data. Ang TreeMap ay isang klase ng koleksyon na batay sa Mapa na ginagamit para sa pag-imbak ng mga pares ng susi at halaga na nagpapanatili ng pataas na pagkakasunud-sunod ng mga elemento ng data. Ang pangunahing pagkakaiba sa pagitan ng HashMap at TreeMap ay ang HashMap ay hindi nagpapanatili ng isang partikular na pagkakasunud-sunod sa mga elemento ng data habang pinapanatili ng TreeMap ang pataas na pagkakasunud-sunod ng mga elemento ng data.

Ano ang HashMap?

Ang HashMap ay isang klase na nagpapatupad ng interface ng mapa. Pinapalawak nito ang klase ng AbstractMap at ipinapatupad ang interface ng Map. Ang isang HashMap ay naglalaman ng susi, mga pares ng halaga. Ang bawat elemento ay natatangi. Madaling mahanap ang mga elemento sa HashMap gamit ang key. Ang pagdedeklara ng HashMap ay ang mga sumusunod.

public class HashMap extends AbstractMap implements Map, Cloneable, Serializable

Ang K ay tumutukoy sa susi habang ang V ay tumutukoy sa halaga na tumutugma sa partikular na key na iyon. Ang bawat key, value pair ay isang entry ng HashMap.

Pagkakaiba sa pagitan ng HashMap at TreeMap
Pagkakaiba sa pagitan ng HashMap at TreeMap

Figure 01: Map Interface

Ipagpalagay ang isang senaryo tulad ng sumusunod upang maunawaan ang HaspMap. Kung doon nais ng programmer na mag-imbak ng isang hanay ng mga pangalan ng mag-aaral at kaukulang mga numero ng index, maaari niyang gamitin ang HashMap. Ang mga pangalan ng mag-aaral ay ginagamit upang mahanap ang mga index na numero. Samakatuwid, ang mga pangalan ng mag-aaral ang mga susi habang ang mga numero ng index ay ang mga halaga.

Pagkakaiba sa pagitan ng HashMap at TreeMap _Figure 02
Pagkakaiba sa pagitan ng HashMap at TreeMap _Figure 02

Figure 02: HashMap Program Gamit ang Java

Ayon sa programa sa itaas, isang bagay ng HashMap ang nalikha. Pagkatapos ang programmer ay maaaring magdagdag ng mga elemento gamit ang bagay na iyon. Maaaring ipasok ang mga value gamit ang put method. Upang makuha ang mga halaga, dapat gamitin ng programmer ang get method na may key. Kapag gumagamit ng studentList.get(“150”); ipi-print nito ang kaukulang pangalan sa index na iyon na si Ann. Kung gusto ng programmer na makuha ang lahat ng value, maaari niyang gamitin ang Map. Entry para i-print ang lahat ng key at value. Kapag sinusunod ang output, makikita na ang HashMap ay hindi nagpapanatili ng isang tiyak na pagkakasunud-sunod. Hindi nito nai-print ang mga elemento sa nakapasok na pagkakasunud-sunod. Ang mga elemento ay naka-print sa random na pagkakasunud-sunod.

Ano ang TreeMap?

Ang TreeMap ay isang klase sa Java na nagpapatupad ng interface ng Map. Katulad ng isang HashMap, ginagamit din ito para sa pag-iimbak ng key, mga pares ng halaga ngunit sa pataas na pagkakasunud-sunod. Ipinapatupad ng TreeMap ang NavigableMap at ang NavigableMap ay nagpapalawak ng SortedMap at ang SortedMap ay nagpapalawak ng Map. Ang bawat elemento ay natatangi. Ang pagdedeklara ng TreeMap ay ang mga sumusunod.

public class TreeMap extends AbstractMap implements NavigableMap, Cloneable, Serializable

Ang K ay tumutukoy sa susi habang ang V ay tumutukoy sa halaga na tumutugma sa partikular na key na iyon. Ang bawat key, value pair ay isang entry ng TreeMap.

Pangunahing Pagkakaiba sa pagitan ng HashMap at TreeMap
Pangunahing Pagkakaiba sa pagitan ng HashMap at TreeMap

Figure 03: TreeMap Program gamit ang Java

Ayon sa programa sa itaas, isang object ng TreeMap ang nilikha. Pagkatapos ang programmer ay maaaring magdagdag ng mga elemento gamit ang bagay na iyon. Maaaring ipasok ang mga value gamit ang put method. Upang makuha ang mga halaga, dapat gamitin ng programmer ang get method na may key. Kapag gumagamit ng studentList.get("150"); ipi-print nito ang kaukulang pangalan sa index na iyon na si Ann. Kung gusto ng programmer na makuha ang lahat ng value, maaari niyang gamitin ang Map. Entry para i-print ang lahat ng key at value. Kapag sinusunod ang output, makikita na ang TreeMap ay nagpapanatili ng isang tiyak na pagkakasunud-sunod. Ang mga elemento ay naka-print sa pataas na pagkakasunud-sunod.

Ano ang Pagkakatulad sa pagitan ng HashMap at TreeMap?

  • Ang HashMap at TreeMap ay nagpapatupad ng Map interface.
  • Ang HashMap at TreeMap ay maaaring mag-imbak at magmanipula ng maraming elemento.
  • Ang HashMap at TreeMap ay naglalaman ng susi, mga pares ng halaga.
  • Maaaring magkaroon ng maraming null value ang HashMap at TreeMap.
  • Walang limitasyon sa bilang ng mga elemento na maaaring maimbak sa parehong HashMap at TreeMap.

Ano ang Pagkakaiba sa pagitan ng HashMap at TreeMap?

HashMap vs TreeMap

Ang HashMap ay isang klase ng koleksyon na nakabatay sa Mapa na ginagamit para sa pag-imbak ng mga pares ng susi at halaga na hindi nagpapanatili ng isang partikular na pagkakasunud-sunod sa mga elemento ng data. Ang TreeMap ay isang klase ng koleksyon na batay sa Mapa na ginagamit para sa pag-iimbak ng mga key at value pairs na nagpapanatili ng pataas na pagkakasunud-sunod ng mga elemento ng data.
Order
Hindi pinapanatili ng HashMap ang kaayusan. Pinapanatili ng TreeMap ang pataas na ayos.
Null Key
Ang HashMap ay maaaring maglaman ng isang null key. Hindi maaaring magkaroon ng null key ang TreeMap.
Pagganap
Ang HashMap ay mas mabilis kaysa sa TreeMap. TreeMap ay mas mabagal kaysa sa HashMap.

Buod – HashMap vs TreeMap

Mga programming language gaya ng Java ay naglalaman ng balangkas ng koleksyon. Sa mga array, maaaring mayroong isang nakapirming bilang ng mga elemento. Samakatuwid, ang laki ng array ay dapat masimulan sa simula. Sa mga koleksyon, maaaring mag-imbak ang programmer ng maraming elemento kung kinakailangan. Walang tiyak na halaga na iimbak. Ang mapa ay isang interface na kabilang sa balangkas ng koleksyon. Ang HashMap ay isang klase ng koleksyon na batay sa Mapa na ginagamit para sa pag-imbak ng mga pares ng susi at halaga na hindi nagpapanatili ng isang partikular na pagkakasunud-sunod sa mga elemento ng data. Ang TreeMap ay isang klase ng koleksyon na batay sa Mapa na ginagamit para sa pag-imbak ng mga pares ng susi at halaga na nagpapanatili ng pataas na pagkakasunud-sunod ng mga elemento ng data. Tinalakay ng artikulong ito ang pagkakaiba sa pagitan ng HashMap at TreeMap na nagpapatupad ng interface ng Map. Ang pagkakaiba sa pagitan ng HashMap at TreeMap ay ang HashMap ay hindi nagpapanatili ng isang partikular na pagkakasunud-sunod sa mga elemento ng data habang pinapanatili ng TreeMap ang pataas na pagkakasunud-sunod ng mga elemento ng data.

Inirerekumendang: