Galvenā atšķirība - HashMap vs TreeMap
Programmēšanā ir dažādi mehānismi datu vākšanai. Kolekcijas ir viena no datu glabāšanas metodēm. 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 saglabā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ēgas, 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 atslēgu un vērtību pāru glabāšanai, kas neuztur noteiktu datu elementu secību. TreeMap ir uz karti balstīta kolekcijas klase, ko izmanto atslēgu un vērtību pāru glabāšanai, kas uztur datu elementu augošu secību. Galvenā atšķirība starp HashMap un TreeMap ir tāda, ka HashMap neuztur noteiktu datu elementu secību, savukārt TreeMap saglabā datu elementu augošo secību.
Kas ir HashMap?
HashMap ir klase, kas ievieš kartes saskarni. Tas paplašina AbstractMap klasi un ievieš Map interfeisu. 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.
publiskā klase HashMap paplašina AbstractMap ievieš karti, klonējamu, serializējamu
K apzīmē atslēgu, bet V apzīmē vērtību, kas atbilst šai konkrētajai atslēgai. Katrs atslēgu, vērtību pāris ir HashMap ieraksts.
Attēls 01: kartes interfeiss
Pieņemsim šādu scenāriju, lai saprastu HaspMap. Ja programmētājs tur vēlas saglabāt studentu vārdu un atbilstošo indeksa numuru kopu, viņš var izmantot HashMap. Skolēnu vārdi tiek izmantoti indeksu skaitļu atrašanai. Tāpēc atslēgas ir skolēnu vārdi, savukārt vērtības ir indeksa skaitļi.
Attēls 02: programma HashMap, kas izmanto Java
Saskaņā ar augstāk minēto programmu tiek izveidots HashMap objekts. Pēc tam programmētājs var pievienot elementus, izmantojot šo objektu. Vērtības var ievietot, izmantojot put metodi. Lai iegūtu vērtības, programmētājam ir jāizmanto iegūšanas metode ar atslēgu. Lietojot studentList.get(“150”); tas izdrukās atbilstošo nosaukumu šim rādītājam, kas ir Ann. Ja programmētājs vēlas iegūt visas vērtības, viņš var izmantot Map. Entry, lai izdrukātu visas atslēgas un vērtības. Vērojot izvadi, var redzēt, ka HashMap neuztur konkrētu kārtību. 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 karti. Katrs elements ir unikāls. TreeMap deklarēšana ir šāda.
publiskā klase TreeMap paplašina AbstractMap ievieš NavigableMap, Cloneable, Serializable
K apzīmē atslēgu, bet V apzīmē vērtību, kas atbilst šai konkrētajai atslēgai. Katrs atslēgu, vērtību pāris ir TreeMap ieraksts.
Attēls 03: TreeMap programma, kas izmanto Java
Saskaņā ar augstāk minēto programmu tiek izveidots TreeMap objekts. Pēc tam programmētājs var pievienot elementus, izmantojot šo objektu. Vērtības var ievietot, izmantojot put metodi. Lai iegūtu vērtības, programmētājam ir jāizmanto iegūšanas metode ar atslēgu. Lietojot studentList.get(“150”); tas izdrukās atbilstošo nosaukumu šim rādītājam, kas ir Ann. Ja programmētājs vēlas iegūt visas vērtības, viņš var izmantot Map. Entry, lai izdrukātu visas atslēgas un vērtības. Vērojot izvadi, var redzēt, ka TreeMap uztur noteiktu kārtību. Elementi tiek drukāti augošā secībā.
Kādas ir līdzības starp HashMap un TreeMap?
- Gan HashMap, gan TreeMap ievieš 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.
- Nav ierobežojumu elementu skaitam, ko var saglabāt gan programmā HashMap, gan TreeMap.
Kāda ir atšķirība starp HashMap un TreeMap?
HashMap vs TreeMap |
|
A HashMap ir uz karti balstīta kolekcijas klase, ko izmanto atslēgu un vērtību pāru glabāšanai, kuri nesaglabā noteiktu datu elementu secību. | A TreeMap ir uz karti balstīta kolekcijas klase, ko izmanto atslēgu un vērtību pāru glabāšanai, saglabājot datu elementu augošu secību. |
Pasūtīt | |
HashMap neuztur kārtību. | TreeMap saglabā augošā secību. |
Null Key | |
HashMap var saturēt vienu nulles atslēgu. | TreeMap nevar būt nulles atslēgas. |
Izpildījums | |
HashMap ir ātrāks par TreeMap. | TreeMap darbojas lēnāk nekā HashMap. |
Kopsavilkums - HashMap vs TreeMap
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 var uzglabāt daudzus elementus pēc vajadzības. Nav konkrētas summas, ko uzglabāt. 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 glabāšanai, kuri neuztur noteiktu datu elementu secību. TreeMap ir uz karti balstīta kolekcijas klase, ko izmanto atslēgu un vērtību pāru glabāšanai, kas uztur datu elementu augošu secību. Šajā rakstā tika apspriesta atšķirība starp HashMap un TreeMap, kas ievieš kartes saskarni. Atšķirība starp HashMap un TreeMap ir tāda, ka HashMap neuztur noteiktu datu elementu secību, savukārt TreeMap saglabā datu elementu augošu secību.