Atšķirība starp HashMap un TreeMap

Galvenā atšķirība - HashMap vs Koku karte
 

Programmēšanā ir dažādi datu vākšanas mehānismi. Kolekcijas ir viena datu uzglabāšanas metode. Programmēšanas valodas, piemēram, Java, izmanto kolekcijas. Tas ir ietvars ar klasēm un saskarnēm datu elementu kopas glabāšanai un manipulēšanai. Parastā masīvā ir noteikts skaits uzglabājamo elementu. Tas ir masīvu ierobežojums. Tā vietā programmētājs var izmantot kolekcijas. Tādas darbības kā ievietošana, dzēšana, kārtošana un meklēšana var veikt, izmantojot kolekcijas. Java programmā Map interfeiss pieder kolekcijām. Karte tiek izmantota, lai attēlotu datus atslēgu, vērtību pāros. Ir tikai unikālas atslēgas, un katrai no tām ir atbilstoša vērtība. HashMap un TreeMap ir klases, kas ievieš kartes saskarni. HashMap ir uz karti balstīta kolekcijas klase, ko izmanto tādu atslēgu un vērtību pāru glabāšanai, kuri neuztur īpašu secību datu elementos. TreeMap ir uz karti balstīta kolekcijas klase, kuru izmanto, lai glabātu atslēgu un vērtību pārus, kas uztur datu elementu augošo secību. galvenā atšķirība starp HashMap un TreeMap ir tas HashMap neuztur īpašu secību datu elementos, savukārt TreeMap uztur datu elementu augošo secību.

SATURS

1. Pārskats un galvenās atšķirības
2. Kas ir HashMap?
3. Kas ir TreeMap
4. Līdzības starp HashMap un TreeMap
5. Salīdzinājums blakus - HashMap vs TreeMap tabulas formā
6. Kopsavilkums

Kas ir HashMap?

HashMap ir klase, kas ievieš kartes saskarni. Tas paplašina AbstractMap klasi un ievieš kartes saskarni. HashMap satur atslēgu, vērtību pārus. Katrs elements ir unikāls. Izmantojot taustiņu, HashMap elementus ir viegli atrast. HashMap deklarēšana ir šāda.

Sabiedriskās klases HashMap paplašina AbstractMap ieviešanas iespējas Map, Cloneable, Serializable

K apzīmē atslēgu, bet V apzīmē vērtību, kas atbilst šai īpašajai atslēgai. Katra atslēgu, vērtību pāri ir HashMap ieraksts.

01. attēls: kartes saskarne

Lai saprastu HaspMap, pieņemiet šādu scenāriju. Ja tur programmētājs vēlas saglabāt studentu vārdu un atbilstošo indeksu numuru kopu, viņš var izmantot HashMap. Indeksa numuru atrašanai tiek izmantoti studentu vārdi. Tāpēc studentu vārdi ir atslēgas, savukārt indeksu skaitļi ir vērtības.

Attēls 02: HashMap programma, izmantojot Java

Saskaņā ar iepriekšminēto programmu tiek izveidots HashMap objekts. Tad programmētājs var pievienot elementus, izmantojot šo objektu. Vērtības var ievietot, izmantojot pārdošanas metodi. Lai iegūtu vērtības, programmētājam jāizmanto iegūšanas metode ar atslēgu. Ja izmantojat studentList.get (“150”); tas izdrukās atbilstošo nosaukumu tam indeksam, kas ir Ann. Ja programmētājs vēlas iegūt visas vērtības, viņš var izmantot Map.Entry, lai izdrukātu visus taustiņus un vērtības. Novērojot izvadi, var redzēt, ka HashMap neuztur īpašu pasūtījumu. Tas nedrukā elementus ievietotajā secībā. Elementi tiek drukāti nejaušā secībā.

Kas ir TreeMap?

TreeMap ir Java klase, kas ievieš kartes saskarni. Līdzīgi kā HashMap, to izmanto arī atslēgu, vērtību pāru glabāšanai, bet augošā secībā. TreeMap ievieš NavigableMap un NavigableMap paplašina SortedMap un SortedMap paplašina Map. Katrs elements ir unikāls. TreeMap deklarēšana ir šāda.

Sabiedriskās klases TreeMap paplašina AbstractMap, izmantojot NavigableMap, Cloneable, Serializable

K apzīmē atslēgu, bet V apzīmē vērtību, kas atbilst šai īpašajai atslēgai. Katra atslēgu, vērtību pāri ir TreeMap ieraksts.

03. attēls: TreeMap programma, izmantojot Java

Saskaņā ar iepriekšminēto programmu tiek izveidots TreeMap objekts. Tad programmētājs var pievienot elementus, izmantojot šo objektu. Vērtības var ievietot, izmantojot pārdošanas metodi. Lai iegūtu vērtības, programmētājam jāizmanto iegūšanas metode ar atslēgu. Ja izmantojat studentList.get (“150”); tas izdrukās atbilstošo nosaukumu tam indeksam, kas ir Ann. Ja programmētājs vēlas iegūt visas vērtības, viņš var izmantot Map.Entry, lai izdrukātu visus taustiņus un vērtības. Novērojot izvadi, var redzēt, ka TreeMap uztur īpašu pasūtījumu. Elementi tiek iespiesti augošā secībā.

Kādas ir līdzības starp HashMap un TreeMap?

  • Gan HashMap, gan TreeMap īsteno kartes saskarni.
  • Gan HashMap, gan TreeMap var saglabāt un manipulēt ar daudziem elementiem.
  • Gan HashMap, gan TreeMap satur atslēgu, vērtību pārus.
  • Gan HashMap, gan TreeMap var būt daudz nulles vērtību.
  • Elementu skaitam, kas var tikt saglabāts gan HashMap, gan TreeMap, nav ierobežojumu.

Kāda ir atšķirība starp HashMap un TreeMap?

HashMap vs TreeMap

HashMap ir uz karti balstīta kolekcijas klase, ko izmanto atslēgu un vērtību pāru, kas neuztur īpašu kārtību datu elementos, glabāšanai.. TreeMap ir uz kartēm balstīta kolekcijas klase, ko izmanto atslēgu un vērtību pāru glabāšanai, kas uztur datu elementu augošo secību..
 Pasūtīt
HashMap neuztur kārtību. TreeMap uztur augošo secību.
Null Key
HashMap var saturēt vienu nulles atslēgu. TreeMap nevar būt nulles atslēga.
 Performance
HashMap ir ātrāks nekā TreeMap. TreeMap ir lēnāks nekā HashMap.

Kopsavilkums - HashMap vs Koku karte

Programmēšanas valodas, piemēram, Java, satur kolekcijas ietvaru. Masīvos var būt noteikts skaits elementu. Tāpēc masīva lielums ir jāinicializē sākumā. Kolekcijās programmētājs pēc nepieciešamības var uzglabāt daudzus elementus. Uzglabāšanai nav noteiktas summas. Karte ir saskarne, kas pieder kolekcijas ietvaram. HashMap ir uz karti balstīta kolekcijas klase, ko izmanto atslēgu un vērtību pāru, kas neuztur īpašu kārtību datu elementos, glabāšanai. TreeMap ir uz kartēm balstīta kolekcijas klase, ko izmanto atslēgu un vērtību pāru glabāšanai, kas uztur datu elementu augošo secību. Šajā rakstā tika apskatīta atšķirība starp HashMap un TreeMap, kas ievieš kartes saskarni. Atšķirība starp HashMap un TreeMap ir tāda, ka HashMap neuztur īpašu kārtību datu elementos, kamēr TreeMap uztur datu elementu augošo secību..

Atsauce:

1. “HashMap Java - javatpoint”. Jēga, Pieejams šeit
2. “TreeMap Java - javatpoint”.  Jēga, Pieejams šeit

Attēla pieklājība:

1.'Java.util.Kartes hierarhija'By ramlmn - Savs darbs, (CC BY-SA 4.0), izmantojot Commons Wikimedia