Nøkkelforskjell - HashMap vs TreeMap
I programmering er det forskjellige mekanismer for å samle inn data. Samlinger er en metode for å lagre data. Programmeringsspråk som Java bruker samlinger. Det er et rammeverk med klasser og grensesnitt for lagring og manipulering av et sett med dataelementer. I en normal matrise er det et fast antall elementer å lagre. Det er en begrensning av matriser. I stedet kan programmereren bruke samlinger. Operasjoner som å sette inn, slette, sortere og søke kan utføres ved hjelp av samlinger. I Java tilhører Map-grensesnittet samlinger. Kartet brukes til å representere data i nøkkelen, verdiparene. Det er bare unike nøkler, og hver har en tilsvarende verdi. HashMap og TreeMap er klasser som implementerer Map-grensesnittet. En HashMap er en kartbasert samlingsklasse som brukes til å lagre nøkkel- og verdipar som ikke opprettholder en bestemt rekkefølge i dataelementer. Et TreeMap er en kartbasert samlingsklasse som brukes til å lagre nøkkel- og verdipar som opprettholder stigende rekkefølge av dataelementer. Hovedforskjellen mellom HashMap og TreeMap er at HashMap ikke opprettholder en bestemt rekkefølge i dataelementer mens TreeMap opprettholder stigende rekkefølge på dataelementer.
INNHOLD
1. Oversikt og nøkkelforskjell
2. Hva er HashMap
3. Hva er TreeMap
4. Likheter mellom HashMap og TreeMap
5. Sammenligning side om side - HashMap vs TreeMap i tabellform
6. Sammendrag
Hva er HashMap?
HashMap er en klasse som implementerer kartgrensesnittet. Den utvider AbstractMap-klassen og implementerer Map-grensesnittet. Et HashMap inneholder nøkkelverdiparene. Hvert element er unikt. Det er enkelt å finne elementene i HashMap ved hjelp av nøkkelen. Å erklære et HashMap er som følger.
offentlig klasse HashMap utvider AbstractMap implementerer Map, Cloneable, Serializable
K refererer til nøkkelen mens V refererer til verdien som tilsvarer den spesifikke nøkkelen. Hver nøkkel, verdipar er en oppføring av HashMap.
Figur 01: Kartgrensesnitt
Anta et scenario som følger for å forstå HaspMap. Hvis der programmereren vil lagre et sett med studentnavn og tilsvarende indeksnummer, kan han bruke HashMap. Studentnavnene brukes til å finne indeksnummerene. Derfor er studentnavn nøklene mens indeksnummer er verdiene.
Figur 02: HashMap-program ved bruk av Java
I henhold til programmet ovenfor opprettes et objekt av HashMap. Da kan programmereren legge til elementer ved hjelp av det objektet. Verdier kan settes inn ved hjelp av put-metoden. For å hente verdiene, bør programmereren bruke get-metoden med nøkkelen. Når du bruker studentList.get (“150”); det vil skrive ut det tilsvarende navnet til den indeksen som er Ann. Hvis programmereren vil hente alle verdiene, kan han bruke Map. Entry til å skrive ut alle nøkler og verdier. Når du observerer utdataene, kan det sees at HashMap ikke opprettholder en bestemt rekkefølge. Elementene skrives ikke ut i den innlagte rekkefølgen. Elementene skrives ut i tilfeldig rekkefølge.
Hva er TreeMap?
TreeMap er en klasse i Java som implementerer Map-grensesnittet. I likhet med en HashMap, brukes den også til lagring av nøkkel-, verdipar, men i stigende rekkefølge. TreeMap implementerer NavigableMap og NavigableMap utvider SortedMap og SortedMap utvider Map. Hvert element er unikt. Å erklære et TreeMap er som følger.
public class TreeMap utvider AbstractMap implementerer NavigableMap, Cloneable, Serializable
K refererer til nøkkelen mens V refererer til verdien som tilsvarer den spesifikke nøkkelen. Hver nøkkel, verdipar er en oppføring i TreeMap.
Figur 03: TreeMap-program ved bruk av Java
I henhold til ovennevnte program opprettes et objekt fra TreeMap. Da kan programmereren legge til elementer ved hjelp av det objektet. Verdier kan settes inn ved hjelp av put-metoden. For å hente verdiene, bør programmereren bruke get-metoden med nøkkelen. Når du bruker studentList.get (“150”); det vil skrive ut det tilsvarende navnet til den indeksen som er Ann. Hvis programmereren vil hente alle verdiene, kan han bruke Map. Entry til å skrive ut alle nøkler og verdier. Når du observerer utdataene, kan det sees at TreeMap opprettholder en bestemt rekkefølge. Elementene er trykt i stigende rekkefølge.
Hva er likhetene mellom HashMap og TreeMap?
- Både HashMap og TreeMap implementerer Map-grensesnitt.
- Både HashMap og TreeMap kan lagre og manipulere mange elementer.
- Både HashMap og TreeMap inneholder nøkkelverdipar.
- Både HashMap og TreeMap kan ha mange nullverdier.
- Det er ingen begrensning på antall elementer som kan lagres i både HashMap og TreeMap.
Hva er forskjellen mellom HashMap og TreeMap?
Diff Article Midt før tabell
HashMap vs TreeMap |
|
En HashMap er en kartbasert samlingsklasse som brukes til å lagre nøkkel- og verdipar som ikke opprettholder en bestemt rekkefølge i dataelementer. | Et TreeMap er en kartbasert samlingsklasse som brukes til å lagre nøkkel- og verdipar som opprettholder stigende rekkefølge av dataelementer. |
Rekkefølge | |
HashMap opprettholder ikke bestillingen. | TreeMap opprettholder den stigende rekkefølgen. |
Null Key | |
HashMap kan inneholde en nullnøkkel. | TreeMap kan ikke ha en nullnøkkel. |
Opptreden | |
HashMap er raskere enn TreeMap. | TreeMap er tregere enn HashMap. |
Sammendrag - HashMap vs TreeMap
Programmeringsspråk som Java inneholder samlingsrammeverket. I matriser kan det være et fast antall elementer. Derfor bør arraystørrelsen initialiseres i begynnelsen. I samlinger kan programmereren lagre mange elementer etter behov. Det er ikke noe spesifikt beløp å lagre. Kartet er et grensesnitt som tilhører samlingsrammeverket. En HashMap er en kartbasert samlingsklasse som brukes til å lagre nøkkel- og verdipar som ikke opprettholder en bestemt rekkefølge i dataelementer. Et TreeMap er en kartbasert samlingsklasse som brukes til å lagre nøkkel- og verdipar som opprettholder stigende rekkefølge av dataelementer. Denne artikkelen diskuterte forskjellen mellom HashMap og TreeMap som implementerer Map-grensesnittet. Forskjellen mellom HashMap og TreeMap er at HashMap ikke opprettholder en bestemt rekkefølge i dataelementer mens TreeMap opprettholder den stigende rekkefølgen på dataelementene.