Forskellen mellem HashMap og TreeMap

Indholdsfortegnelse:

Forskellen mellem HashMap og TreeMap
Forskellen mellem HashMap og TreeMap

Video: Forskellen mellem HashMap og TreeMap

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

Nøgleforskel – HashMap vs TreeMap

I programmering er der forskellige mekanismer til at indsamle data. Samlinger er en metode til at gemme data. Programmeringssprog såsom Java bruger Collections. Det er en ramme med klasser og grænseflader til lagring og manipulation af et sæt dataelementer. I et norm alt array er der et fast antal elementer at gemme. Det er en begrænsning af arrays. I stedet kan programmøren bruge samlinger. Handlinger såsom indsættelse, sletning, sortering og søgning kan udføres ved hjælp af samlinger. I Java hører kortgrænsefladen til samlinger. Kortet bruges til at repræsentere data i nøgleværdiparrene. Der er kun unikke nøgler, og hver har en tilsvarende værdi. HashMap og TreeMap er klasser, der implementerer kortgrænsefladen. Et HashMap er en kortbaseret samlingsklasse, der bruges til at gemme nøgle- og værdipar, der ikke opretholder en bestemt rækkefølge i dataelementer. Et TreeMap er en kortbaseret samlingsklasse, der bruges til lagring af nøgle- og værdipar, der opretholder den stigende rækkefølge af dataelementer. Den vigtigste forskel mellem HashMap og TreeMap er, at HashMap ikke opretholder en bestemt rækkefølge i dataelementer, mens TreeMap opretholder den stigende rækkefølge af dataelementer.

Hvad er HashMap?

HashMap er en klasse, der implementerer kortgrænsefladen. Det udvider AbstractMap-klassen og implementerer kortgrænsefladen. Et HashMap indeholder nøgleværdiparrene. Hvert element er unikt. Det er nemt at finde elementerne i HashMap ved hjælp af tasten. At erklære et HashMap er som følger.

public class HashMap udvider AbstractMap implementerer Map, Cloneable, Serializable

K'et refererer til nøglen, mens V refererer til den værdi, der svarer til den specifikke nøgle. Hvert nøgle, værdipar er en indgang i HashMap.

Forskellen mellem HashMap og TreeMap
Forskellen mellem HashMap og TreeMap

Figur 01: Kortgrænseflade

Antag et scenarie som følger for at forstå HaspMap. Hvis programmøren der ønsker at gemme et sæt elevnavne og tilsvarende indeksnumre, kan han bruge HashMap. Elevnavnene bruges til at finde indekstallene. Derfor er elevernes navne nøglerne, mens indekstal er værdierne.

Forskellen mellem HashMap og TreeMap _Figur 02
Forskellen mellem HashMap og TreeMap _Figur 02

Figur 02: HashMap-program, der bruger Java

I henhold til ovenstående program oprettes et objekt af HashMap. Derefter kan programmøren tilføje elementer ved hjælp af dette objekt. Værdier kan indsættes ved hjælp af put-metoden. For at hente værdierne skal programmøren bruge get-metoden med nøglen. Når du bruger studentList.get(“150”); det vil udskrive det tilsvarende navn til det indeks, som er Ann. Hvis programmøren ønsker at få alle værdier, så kan han bruge Map. Entry til at udskrive alle nøgler og værdier. Når man observerer outputtet, kan det ses, at HashMap ikke opretholder en bestemt rækkefølge. Den udskriver ikke elementerne i den indsatte rækkefølge. Elementerne udskrives i en tilfældig rækkefølge.

Hvad er TreeMap?

The TreeMap er en klasse i Java, der implementerer kortgrænsefladen. I lighed med et HashMap bruges det også til lagring af nøgle-værdipar, men i stigende rækkefølge. TreeMap implementerer NavigableMap og NavigableMap udvider SortedMap og SortedMap udvider Map. Hvert element er unikt. At erklære et TreeMap er som følger.

public class TreeMap udvider AbstractMap implementerer NavigableMap, Cloneable, Serializable

K'et refererer til nøglen, mens V refererer til den værdi, der svarer til den specifikke nøgle. Hvert nøgle-værdipar er en indgang i trækortet.

Nøgleforskel mellem HashMap og TreeMap
Nøgleforskel mellem HashMap og TreeMap

Figur 03: TreeMap-program, der bruger Java

I henhold til ovenstående program oprettes et objekt af TreeMap. Derefter kan programmøren tilføje elementer ved hjælp af dette objekt. Værdier kan indsættes ved hjælp af put-metoden. For at hente værdierne skal programmøren bruge get-metoden med nøglen. Når du bruger studentList.get(“150”); det vil udskrive det tilsvarende navn til det indeks, som er Ann. Hvis programmøren ønsker at få alle værdier, så kan han bruge Map. Entry til at udskrive alle nøgler og værdier. Når man observerer outputtet, kan det ses, at TreeMap opretholder en bestemt rækkefølge. Elementerne udskrives i stigende rækkefølge.

Hvad er lighederne mellem HashMap og TreeMap?

  • Både HashMap og TreeMap implementerer kortgrænseflade.
  • Både HashMap og TreeMap kan gemme og manipulere mange elementer.
  • Både HashMap og TreeMap indeholder nøgle- og værdipar.
  • Både HashMap og TreeMap kan have mange nulværdier.
  • Der er ingen begrænsning på antallet af elementer, der kan gemmes i både HashMap og TreeMap.

Hvad er forskellen mellem HashMap og TreeMap?

HashMap vs TreeMap

A HashMap er en kortbaseret samlingsklasse, der bruges til lagring af nøgle- og værdipar, som ikke opretholder en bestemt rækkefølge i dataelementer. A TreeMap er en kortbaseret samlingsklasse, der bruges til lagring af nøgle- og værdipar, som opretholder den stigende rækkefølge af dataelementer.
Ordre
The HashMap opretholder ikke rækkefølgen. TreeMap opretholder den stigende rækkefølge.
Null Key
The HashMap kan indeholde én null-nøgle. TreeMap kan ikke have en nul-nøgle.
Performance
HashMap er hurtigere end TreeMap. TreeMap er langsommere end HashMap.

Oversigt – HashMap vs TreeMap

Programmeringssprog såsom Java indeholder samlingsrammerne. I arrays kan der være et fast antal elementer. Derfor bør matrixstørrelsen initialiseres i begyndelsen. I samlinger kan programmøren gemme mange elementer efter behov. Der er ingen bestemt mængde at opbevare. Kortet er en grænseflade, der hører til samlingsramme. Et HashMap er en kortbaseret samlingsklasse, der bruges til lagring af nøgle- og værdipar, som ikke opretholder en bestemt rækkefølge i dataelementer. Et TreeMap er en kortbaseret samlingsklasse, der bruges til lagring af nøgle- og værdipar, som opretholder den stigende rækkefølge af dataelementer. Denne artikel diskuterede forskellen mellem HashMap og TreeMap, som implementerer kortgrænsefladen. Forskellen mellem HashMap og TreeMap er, at HashMap ikke opretholder en bestemt rækkefølge i dataelementer, mens TreeMap opretholder den stigende rækkefølge af dataelementer.

Anbefalede: