Verskil tussen HashMap en TreeMap

INHOUDSOPGAWE:

Verskil tussen HashMap en TreeMap
Verskil tussen HashMap en TreeMap

Video: Verskil tussen HashMap en TreeMap

Video: Verskil tussen HashMap en TreeMap
Video: What is the difference between HashMap and TreeMap 2024, November
Anonim

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.

Verskil tussen HashMap en TreeMap
Verskil tussen HashMap en TreeMap

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.

Verskil tussen HashMap en TreeMap _Figuur 02
Verskil tussen HashMap en TreeMap _Figuur 02

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.

Sleutelverskil tussen HashMap en TreeMap
Sleutelverskil tussen HashMap en 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.

Aanbeveel: