Dallimi kryesor – HashMap vs TreeMap
Në programim, ekzistojnë mekanizma të ndryshëm për mbledhjen e të dhënave. Koleksionet janë një mënyrë për të ruajtur të dhënat. Gjuhët e programimit si Java përdorin Koleksione. Është një kornizë me klasa dhe ndërfaqe për ruajtjen dhe manipulimin e një grupi elementesh të dhënash. Në një grup normal, ka një numër fiks elementësh për të ruajtur. Ky është një kufizim i vargjeve. Në vend të kësaj, programuesi mund të përdorë koleksione. Operacione të tilla si futja, fshirja, renditja dhe kërkimi mund të kryhen duke përdorur koleksione. Në Java, ndërfaqja e Hartës i përket koleksioneve. Harta përdoret për të përfaqësuar të dhënat në çiftet kryesore të vlerës. Ka vetëm çelësa unikë dhe secili ka një vlerë përkatëse. HashMap dhe TreeMap janë klasa që zbatojnë ndërfaqen e Hartës. Një HashMap është një klasë koleksioni e bazuar në harta që përdoret për ruajtjen e çifteve të çelësave dhe vlerave që nuk mbajnë një rend specifik në elementët e të dhënave. Një TreeMap është një klasë koleksioni e bazuar në harta që përdoret për ruajtjen e çifteve të çelësave dhe vlerave që ruajnë rendin në rritje të elementeve të të dhënave. Dallimi kryesor midis HashMap dhe TreeMap është se HashMap nuk ruan një rend specifik në elementët e të dhënave ndërsa TreeMap ruan rendin në rritje të elementeve të të dhënave.
Çfarë është HashMap?
HashMap është një klasë që zbaton ndërfaqen e hartës. Ai zgjeron klasën AbstractMap dhe zbaton ndërfaqen Map. Një HashMap përmban çiftet kryesore të vlerave. Çdo element është unik. Është e lehtë të gjesh elementet në HashMap duke përdorur çelësin. Deklarimi i një HashMap është si më poshtë.
klasa publike HashMap zgjeron AbstractMap zbaton Hartën, e klonueshme, e serializueshme
K i referohet çelësit ndërsa V i referohet vlerës që korrespondon me atë çelës specifik. Çdo çift çelësi dhe vlerash është një hyrje e HashMap.
Figura 01: Ndërfaqja e hartës
Supozoni një skenar si më poshtë për të kuptuar HaspMap. Nëse atje programuesi dëshiron të ruajë një grup emrash studentësh dhe numra indeksi përkatës, ai mund të përdorë HashMap. Emrat e studentëve përdoren për të gjetur numrat e indeksit. Prandaj, emrat e studentëve janë çelësat ndërsa numrat e indeksit janë vlerat.
Figura 02: Programi HashMap duke përdorur Java
Sipas programit të mësipërm, krijohet një objekt i HashMap. Pastaj programuesi mund të shtojë elemente duke përdorur atë objekt. Vlerat mund të futen duke përdorur metodën put. Për të marrë vlerat, programuesi duhet të përdorë metodën marrë me çelës. Kur përdorni studentList.get(“150”); do të printojë emrin përkatës për atë indeks që është Ann. Nëse programuesi dëshiron të marrë të gjitha vlerat, atëherë ai mund të përdorë Map. Entry për të printuar të gjithë çelësat dhe vlerat. Kur vëzhgoni daljen, mund të shihet se HashMap nuk mban një rend specifik. Nuk i printon elementet në rendin e futur. Elementet janë shtypur në një renditje të rastësishme.
Çfarë është TreeMap?
TreeMap është një klasë në Java që implementon ndërfaqen Map. Ngjashëm me një HashMap, ai përdoret gjithashtu për ruajtjen e çifteve të çelësave, vlerave, por në rend rritës. TreeMap zbaton NavigableMap dhe NavigableMap zgjeron SortedMap dhe SortedMap zgjeron Hartën. Çdo element është unik. Deklarimi i një TreeMap është si më poshtë.
Klasa publike TreeMap zgjeron AbstractMap implementon NavigableMap, Cloneable, Serializable
K i referohet çelësit ndërsa V i referohet vlerës që korrespondon me atë çelës specifik. Çdo çift çelësi dhe vlerash është një hyrje e TreeMap.
Figura 03: Programi TreeMap duke përdorur Java
Sipas programit të mësipërm, krijohet një objekt i TreeMap. Pastaj programuesi mund të shtojë elemente duke përdorur atë objekt. Vlerat mund të futen duke përdorur metodën put. Për të marrë vlerat, programuesi duhet të përdorë metodën marrë me çelës. Kur përdorni studentList.get(“150”); do të printojë emrin përkatës për atë indeks që është Ann. Nëse programuesi dëshiron të marrë të gjitha vlerat, atëherë ai mund të përdorë Map. Entry për të printuar të gjithë çelësat dhe vlerat. Kur vëzhgoni daljen, mund të shihet se TreeMap mban një rend specifik. Elementet janë shtypur në rend rritës.
Cilat janë ngjashmëritë midis HashMap dhe TreeMap?
- Të dyja HashMap dhe TreeMap zbatojnë ndërfaqen e Hartës.
- Si HashMap dhe TreeMap mund të ruajnë dhe manipulojnë shumë elementë.
- Të dyja HashMap dhe TreeMap përmbajnë çifte çelësash dhe vlerash.
- Edhe HashMap dhe TreeMap mund të kenë shumë vlera null.
- Nuk ka asnjë kufizim për numrin e elementeve që mund të ruhen si në HashMap ashtu edhe në TreeMap.
Cili është ndryshimi midis HashMap dhe TreeMap?
HashMap vs TreeMap |
|
Një HashMap është një klasë koleksioni e bazuar në harta që përdoret për ruajtjen e çifteve të çelësave dhe vlerave që nuk mbajnë një renditje specifike në elementët e të dhënave. | A TreeMap është një klasë koleksioni e bazuar në harta që përdoret për ruajtjen e çifteve të çelësave dhe vlerave që ruan rendin në rritje të elementeve të të dhënave. |
Porosit | |
HashMap nuk e ruan rendin. | Harta e Pemës ruan rendin në rritje. |
Çelësi Null | |
HashMap mund të përmbajë një çelës null. | TreeMap nuk mund të ketë një çelës null. |
Performanca | |
HashMap është më i shpejtë se TreeMap. | TreeMap është më i ngadalshëm se HashMap. |
Përmbledhje – HashMap vs TreeMap
Gjuhët e programimit si Java përmbajnë kornizën e koleksionit. Në vargje, mund të ketë një numër fiks elementësh. Prandaj, madhësia e grupit duhet të inicializohet në fillim. Në koleksione, programuesi mund të ruajë shumë elementë sipas nevojës. Nuk ka një sasi specifike për të ruajtur. Harta është një ndërfaqe që i përket kornizës së koleksionit. Një HashMap është një klasë koleksioni e bazuar në harta që përdoret për ruajtjen e çifteve të çelësave dhe vlerave që nuk mbajnë një rend specifik në elementët e të dhënave. Një TreeMap është një klasë koleksioni e bazuar në harta që përdoret për ruajtjen e çifteve të çelësave dhe vlerave që ruan rendin në rritje të elementeve të të dhënave. Ky artikull diskutoi ndryshimin midis HashMap dhe TreeMap që zbaton ndërfaqen e Hartës. Dallimi midis HashMap dhe TreeMap është se HashMap nuk ruan një renditje specifike në elementët e të dhënave ndërsa TreeMap ruan rendin në rritje të elementeve të të dhënave.