Sleutelverskil – HashMap vs TreeMap
In programmering is daar verskeie meganismes om data in te samel. Versamelings is een metode om data te stoor. Programmeringstale soos Java gebruik Versamelings. Dit is 'n raamwerk met klasse en koppelvlakke vir die stoor en manipulering van 'n stel data-elemente. In 'n normale skikking is daar 'n vaste aantal elemente om te stoor. Dit is 'n beperking van skikkings. In plaas daarvan kan die programmeerder versamelings gebruik. Bewerkings soos invoeging, uitvee, sortering en soek kan uitgevoer word met behulp van versamelings. In Java behoort die Map-koppelvlak aan versamelings. Die kaart word gebruik om data in die sleutelwaardepare voor te stel. Daar is net unieke sleutels, en elkeen het 'n ooreenstemmende waarde. HashMap en TreeMap is klasse wat die Map-koppelvlak implementeer. 'n HashMap is 'n kaartgebaseerde versamelingklas wat gebruik word vir die stoor van sleutel- en waardepare wat nie 'n spesifieke volgorde in data-elemente handhaaf nie. 'n TreeMap is 'n kaartgebaseerde versamelingklas wat gebruik word vir die stoor van sleutel- en waardepare wat die stygende volgorde van data-elemente handhaaf. Die belangrikste verskil tussen HashMap en TreeMap is dat HashMap nie 'n spesifieke volgorde in data-elemente handhaaf nie, terwyl TreeMap die stygende volgorde van data-elemente handhaaf.
Wat is HashMap?
HashMap is 'n klas wat die kaartkoppelvlak implementeer. Dit brei die AbstractMap-klas uit en implementeer Map-koppelvlak. 'n HashMap bevat die sleutel, waarde-pare. Elke element is uniek. Dit is maklik om die elemente in HashMap te vind met behulp van die sleutel. Om 'n HashMap te verklaar is soos volg.
publieke klas HashMap brei AbstractMap implemente Map, Cloneable, Serializeable
Die K verwys na die sleutel terwyl V verwys na die waarde wat ooreenstem met daardie spesifieke sleutel. Elke sleutel, waardepaar is 'n inskrywing van die HashMap.
Figuur 01: Kaartkoppelvlak
Veronderstel 'n scenario soos volg om die HaspMap te verstaan. As die programmeerder daar 'n stel studentename en ooreenstemmende indeksnommers wil stoor, kan hy die HashMap gebruik. Die studentename word gebruik om die indeksnommers te vind. Daarom is studentename die sleutels terwyl indeksnommers die waardes is.
Figuur 02: HashMap-program wat Java gebruik
Volgens bogenoemde program word 'n voorwerp van HashMap geskep. Dan kan die programmeerder elemente byvoeg deur daardie voorwerp te gebruik. Waardes kan ingevoeg word deur die put-metode te gebruik. Om die waardes te haal, moet die programmeerder die get-metode met die sleutel gebruik. Wanneer studentList.get(“150”); dit sal die ooreenstemmende naam vir daardie indeks wat Ann is, druk. As die programmeerder alle waardes wil kry, kan hy Map. Entry gebruik om alle sleutels en waardes te druk. Wanneer die uitset waargeneem word, kan gesien word dat HashMap nie 'n spesifieke volgorde handhaaf nie. Dit druk nie die elemente in die ingevoegde volgorde nie. Die elemente word in 'n ewekansige volgorde gedruk.
Wat is TreeMap?
The TreeMap is 'n klas in Java wat die Map-koppelvlak implementeer. Soortgelyk aan 'n HashMap, word dit ook gebruik om sleutel- en waardepare te stoor, maar in stygende volgorde. Die TreeMap implementeer die NavigableMap en NavigableMap brei SortedMap uit en SortedMap brei Kaart uit. Elke element is uniek. Om 'n TreeMap te verklaar is soos volg.
publieke klas TreeMap brei AbstractMap-implemente NavigableMap, Kloonbaar, Serializable uit
Die K verwys na die sleutel terwyl V verwys na die waarde wat ooreenstem met daardie spesifieke sleutel. Elke sleutel, waardepaar is 'n inskrywing van die TreeMap.
Figuur 03: TreeMap-program wat Java gebruik
Volgens bogenoemde program word 'n voorwerp van TreeMap geskep. Dan kan die programmeerder elemente byvoeg deur daardie voorwerp te gebruik. Waardes kan ingevoeg word deur die put-metode te gebruik. Om die waardes te haal, moet die programmeerder die get-metode met die sleutel gebruik. Wanneer studentList.get(“150”); dit sal die ooreenstemmende naam vir daardie indeks wat Ann is, druk. As die programmeerder alle waardes wil kry, kan hy Map. Entry gebruik om alle sleutels en waardes te druk. Wanneer die uitset waargeneem word, kan dit gesien word dat TreeMap 'n spesifieke volgorde handhaaf. Die elemente word in stygende volgorde gedruk.
Wat is die ooreenkomste tussen HashMap en TreeMap?
- Beide HashMap en TreeMap implementeer Map-koppelvlak.
- Beide HashMap en TreeMap kan baie elemente stoor en manipuleer.
- Beide HashMap en TreeMap bevat sleutel-, waardepare.
- Beide HashMap en TreeMap kan baie nulwaardes hê.
- Daar is geen beperking op die aantal elemente wat in beide HashMap en TreeMap gestoor kan word nie.
Wat is die verskil tussen HashMap en TreeMap?
HashMap vs TreeMap |
|
'n HashMap is 'n kaartgebaseerde versamelingklas wat gebruik word vir die stoor van sleutel- en waardepare wat nie 'n spesifieke volgorde in data-elemente handhaaf nie. | A TreeMap is 'n kaartgebaseerde versamelingklas wat gebruik word vir die stoor van sleutel- en waardepare wat die stygende volgorde van data-elemente handhaaf. |
Bestel | |
Die HashMap handhaaf nie die volgorde nie. | Die TreeMap handhaaf die stygende volgorde. |
Nulsleutel | |
Die HashMap kan een nulsleutel bevat. | Die TreeMap kan nie 'n nulsleutel hê nie. |
Prestasie | |
HashMap is vinniger as TreeMap. | TreeMap is stadiger as HashMap. |
Opsomming – HashMap vs TreeMap
Programmeringstale soos Java bevat die versamelingsraamwerk. In skikkings kan daar 'n vaste aantal elemente wees. Daarom moet die skikkingsgrootte aan die begin geïnisialiseer word. In versamelings kan die programmeerder baie elemente stoor soos benodig. Daar is geen spesifieke hoeveelheid om te stoor nie. Die kaart is 'n koppelvlak wat aan versamelingsraamwerk behoort. 'n HashMap is 'n kaartgebaseerde versamelingklas wat gebruik word vir die stoor van sleutel- en waardepare wat nie 'n spesifieke volgorde in data-elemente handhaaf nie. 'n TreeMap is 'n kaartgebaseerde versamelingklas wat gebruik word vir die stoor van sleutel- en waardepare wat die stygende volgorde van data-elemente handhaaf. Hierdie artikel het die verskil tussen HashMap en TreeMap bespreek wat die Map-koppelvlak implementeer. Die verskil tussen HashMap en TreeMap is dat HashMap nie 'n spesifieke volgorde in data-elemente handhaaf nie, terwyl TreeMap die stygende volgorde van data-elemente handhaaf.