Forskjellen mellom HashMap og TreeMap

Innholdsfortegnelse:

Forskjellen mellom HashMap og TreeMap
Forskjellen mellom HashMap og TreeMap

Video: Forskjellen mellom HashMap og TreeMap

Video: Forskjellen mellom HashMap og TreeMap
Video: Разница между HashMap и TreeMap Java собеседование 2024, Juni
Anonim

Nøkkelforskjell – HashMap vs TreeMap

I programmering er det ulike mekanismer for å samle inn data. Samlinger er én 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 kartgrensesnittet samlinger. Kartet brukes til å representere data i nøkkelverdiparene. Det er bare unike nøkler, og hver har en tilsvarende verdi. HashMap og TreeMap er klasser som implementerer kartgrensesnittet. Et 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 den stigende rekkefølgen av dataelementer. Hovedforskjellen mellom HashMap og TreeMap er at HashMap ikke opprettholder en spesifikk rekkefølge i dataelementer mens TreeMap opprettholder den stigende rekkefølgen av dataelementer.

Hva er HashMap?

HashMap er en klasse som implementerer kartgrensesnittet. Den utvider AbstractMap-klassen og implementerer kartgrensesnitt. Et HashMap inneholder nøkkelen, verdiparene. Hvert element er unikt. Det er enkelt å finne elementene i HashMap ved å bruke nøkkelen. Å erklære et HashMap er som følger.

public class HashMap utvider AbstractMap implementerer Map, Cloneable, Serializable

K-en refererer til nøkkelen mens V refererer til verdien som tilsvarer den spesifikke nøkkelen. Hvert nøkkel, verdipar er en oppføring av HashMap.

Forskjellen mellom HashMap og TreeMap
Forskjellen mellom HashMap og TreeMap

Figur 01: Kartgrensesnitt

Anta et scenario som følger for å forstå HaspMap. Hvis programmereren der ønsker å lagre et sett med elevnavn og tilsvarende indeksnummer, kan han bruke HashMap. Elevnavnene brukes for å finne indekstallene. Derfor er elevnavn nøkkelen mens indeksnummer er verdiene.

Forskjellen mellom HashMap og TreeMap _Figur 02
Forskjellen mellom HashMap og TreeMap _Figur 02

Figur 02: HashMap-program som bruker Java

I henhold til programmet ovenfor opprettes et objekt av HashMap. Deretter kan programmereren legge til elementer ved å bruke 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 ønsker å få alle verdier, kan han bruke Map. Entry for å skrive ut alle nøkler og verdier. Når du observerer utgangen, kan det ses at HashMap ikke opprettholder en bestemt rekkefølge. Den skriver ikke ut elementene i innsatt rekkefølge. Elementene skrives ut i tilfeldig rekkefølge.

Hva er TreeMap?

The TreeMap er en klasse i Java som implementerer kartgrensesnittet. I likhet med et HashMap, brukes det også til å lagre nøkkel-, verdipar, men i stigende rekkefølge. TreeMap implementerer NavigableMap og NavigableMap utvider SortedMap og SortedMap utvider kartet. Hvert element er unikt. Å erklære et trekart er som følger.

public class TreeMap utvider AbstractMap implementerer NavigableMap, Cloneable, Serializable

K-en refererer til nøkkelen mens V refererer til verdien som tilsvarer den spesifikke nøkkelen. Hvert nøkkel- og verdipar er en oppføring i TreeMap.

Nøkkelforskjellen mellom HashMap og TreeMap
Nøkkelforskjellen mellom HashMap og TreeMap

Figur 03: TreeMap-program som bruker Java

I henhold til programmet ovenfor opprettes et objekt av TreeMap. Deretter kan programmereren legge til elementer ved å bruke 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 ønsker å få alle verdier, kan han bruke Map. Entry for å skrive ut alle nøkler og verdier. Når du observerer utdataene, kan det ses at TreeMap opprettholder en bestemt rekkefølge. Elementene skrives ut i stigende rekkefølge.

Hva er likhetene mellom HashMap og TreeMap?

  • Både HashMap og TreeMap implementerer kartgrensesnitt.
  • Både HashMap og TreeMap kan lagre og manipulere mange elementer.
  • Både HashMap og TreeMap inneholder nøkkel-, verdipar.
  • 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?

HashMap vs TreeMap

A HashMap er en kartbasert samlingsklasse som brukes til å lagre nøkkel- og verdipar som ikke opprettholder en bestemt rekkefølge i dataelementer. A TreeMap er en kartbasert samlingsklasse som brukes til å lagre nøkkel- og verdipar som opprettholder den stigende rekkefølgen av dataelementer.
Bestilling
The HashMap opprettholder ikke rekkefølgen. Trekartet opprettholder den stigende rekkefølgen.
Null Key
The HashMap kan inneholde én nullnøkkel. Trekartet kan ikke ha en nullnøkkel.
Ytelse
HashMap er raskere enn TreeMap. TreeMap er tregere enn HashMap.

Summary – HashMap vs TreeMap

Programmeringsspråk som Java inneholder samlingsrammeverket. I matriser kan det være et fast antall elementer. Derfor bør matrisestørrelsen initialiseres i begynnelsen. I samlinger kan programmereren lagre mange elementer etter behov. Det er ingen bestemt mengde å lagre. Kartet er et grensesnitt som tilhører samlingsrammeverket. Et 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 den stigende rekkefølgen av dataelementer. Denne artikkelen diskuterte forskjellen mellom HashMap og TreeMap som implementerer kartgrensesnittet. Forskjellen mellom HashMap og TreeMap er at HashMap ikke opprettholder en spesifikk rekkefølge i dataelementer mens TreeMap opprettholder den stigende rekkefølgen av dataelementer.

Anbefalt: