Peamine erinevus - HashMap vs TreeMap
Programmeerimisel on andmete kogumiseks mitmesuguseid mehhanisme. Kogud on üks meetod andmete salvestamiseks. Programmeerimiskeeled, näiteks Java, kasutavad kollektsioone. See on klasside ja liidestega raamistik andmeelementide komplekti salvestamiseks ja manipuleerimiseks. Tavalises massiivis on kindel arv elemente, mida salvestada. See on massiivide piirang. Selle asemel saab programmeerija kollektsioone kasutada. Kollektsioonide abil saab teha selliseid toiminguid nagu sisestamine, kustutamine, sortimine ja otsimine. Javas kuulub Mapi liides kogudesse. Kaarti kasutatakse võtme, väärtuspaaride andmete esitamiseks. Seal on ainult unikaalsed võtmed ja igaühel on vastav väärtus. HashMap ja TreeMap on klassid, mis rakendavad Mapi liidest. HashMap on kaardipõhine kogumisklass, mida kasutatakse võtme- ja väärtuspaaride salvestamiseks, mis ei hoia andmeelementides kindlat järjekorda. TreeMap on kaardipõhine kogumisklass, mida kasutatakse võtme- ja väärtuspaaride salvestamiseks, mis säilitavad andmeelementide kasvavat järjekorda. Peamine erinevus HashMapi ja TreeMapi vahel on see, et HashMap ei hoia andmeelementides kindlat järjekorda, samas kui TreeMap säilitab andmeelementide kasvavat järjekorda.
SISU
1. Ülevaade ja peamised erinevused
2. Mis on HashMap
3. Mis on TreeMap
4. HashMapi ja TreeMapi sarnasused
5. Kõrvuti võrdlus - HashMap vs TreeMap tabelkujul
6. Kokkuvõte
Mis on HashMap?
HashMap on klass, mis rakendab kaardiliidest. See laiendab klassi AbstractMap ja rakendab Mapi liidest. HashMap sisaldab võtit, väärtuspaare. Iga element on ainulaadne. HashMapist on klahvi abil elemente lihtne leida. HashMapi deklareerimine on järgmine.
avalik klass HashMap laiendab AbstractMapi rakendusi Map, Cloneable, Serializable
K tähistab võtit, V aga sellele konkreetsele võtmele vastavat väärtust. Iga võti, väärtuspaar on HashMapi kirje.
Joonis 01: Kaardi liides
HaspMapi mõistmiseks eeldage järgmist stsenaariumi. Kui programmeerija soovib sinna salvestada õpilaste nimede ja vastavate indeksnumbrite komplekti, saab ta kasutada HashMapi. Indeksinumbrite leidmiseks kasutatakse õpilaste nimesid. Seetõttu on võtmeteks õpilaste nimed, väärtuseks indeksinumbrid.
Joonis 02: HashMapi programm Java abil
Vastavalt ülaltoodud programmile luuakse HashMapi objekt. Seejärel saab programmeerija selle objekti abil elemente lisada. Väärtusi saab sisestada put-meetodil. Väärtuste toomiseks peaks programmeerija kasutama võtmega get-meetodit. StudentList.get (“150”) kasutamisel; see prindib vastava nime sellele indeksile, milleks on Ann. Kui programmeerija soovib saada kõik väärtused, saab ta kõigi võtmete ja väärtuste printimiseks kasutada rakendust Map. Entry. Väljundit jälgides on näha, et HashMap ei hoia kindlat järjekorda. See ei prindi elemente sisestatud järjekorras. Elemendid trükitakse juhuslikus järjekorras.
Mis on TreeMap?
TreeMap on Java klass, mis rakendab Mapi liidest. Sarnaselt HashMapiga kasutati seda ka võtme-, väärtuspaaride salvestamiseks, kuid kasvavas järjekorras. TreeMap rakendab NavigableMap ja NavigableMap laiendab SortedMap ja SortedMap laiendab Mapi. Iga element on ainulaadne. TreeMap deklareerimine on järgmine.
avaliku klassi TreeMap laiendab AbstractMapi rakendusi NavigableMap, Cloneable, Serializable
K tähistab võtit, V aga sellele konkreetsele võtmele vastavat väärtust. Iga võti, väärtuspaar on TreeMapi kirje.
Joonis 03: TreeMapi programm Java abil
Vastavalt ülaltoodud programmile luuakse TreeMapi objekt. Seejärel saab programmeerija selle objekti abil elemente lisada. Väärtusi saab sisestada put-meetodil. Väärtuste toomiseks peaks programmeerija kasutama võtmega get-meetodit. StudentList.get (“150”) kasutamisel; see prindib vastava nime sellele indeksile, milleks on Ann. Kui programmeerija soovib saada kõik väärtused, saab ta kõigi võtmete ja väärtuste printimiseks kasutada rakendust Map. Entry. Väljundit jälgides on näha, et TreeMap hoiab kindlat järjekorda. Elemendid trükitakse kasvavas järjekorras.
Millised on HashMapi ja TreeMapi sarnasused?
- Nii HashMap kui ka TreeMap rakendavad Mapi liidest.
- Nii HashMap kui ka TreeMap suudavad salvestada ja manipuleerida paljude elementidega.
- Nii HashMap kui ka TreeMap sisaldavad võtme-, väärtuspaare.
- Nii HashMapil kui ka TreeMapil võib olla palju nullväärtusi.
- Nii HashMapi kui ka TreeMapi salvestatavate elementide arv ei ole piiratud.
Mis vahe on HashMapi ja TreeMapi vahel?
Erinev artikkel keskel enne tabelit
HashMap vs TreeMap |
|
HashMap on kaardil põhinev kogumisklass, mida kasutatakse võtme- ja väärtuspaaride salvestamiseks, mis ei hoia andmeelementides kindlat järjekorda. | TreeMap on kaardipõhine kogumisklass, mida kasutatakse võtme- ja väärtuspaaride salvestamiseks, mis säilitab andmeelementide kasvavat järjekorda. |
Tellimus | |
HashMap ei hoia korda. | TreeMap säilitab tõusvas järjekorras. |
Nullvõti | |
HashMap võib sisaldada ühte nullvõtit. | TreeMapil ei tohi olla nullvõtit. |
Performance | |
HashMap on kiirem kui TreeMap. | TreeMap on aeglasem kui HashMap. |
Kokkuvõte - HashMap vs TreeMap
Programmeerimiskeeled, näiteks Java, sisaldavad kogu raamistikku. Massiivides võib olla kindel arv elemente. Seetõttu tuleks massiivi suurus alguses lähtestada. Kogudes saab programmeerija salvestada palju elemente vastavalt vajadusele. Kindlat kogust, mida säilitada, pole. Kaart on liides, mis kuulub kogumisraamistikku. HashMap on kaardil põhinev kogumisklass, mida kasutatakse võtme- ja väärtuspaaride salvestamiseks, mis ei hoia andmeelementides kindlat järjekorda. TreeMap on kaardipõhine kogumisklass, mida kasutatakse võtme- ja väärtuspaaride salvestamiseks, mis säilitab andmeelementide kasvavat järjekorda. Selles artiklis käsitleti erinevust HashMapi ja MapMi liidese juurutava TreeMapi vahel. HashMapi ja TreeMapi erinevus seisneb selles, et HashMap ei hoia andmeelementides kindlat järjekorda, samas kui TreeMap säilitab andmeelementide kasvavat järjekorda.