I programmeringen er der forskellige mekanismer til indsamling af data. Samlinger er en metode til lagring af data. Programmeringssprog som Java bruger samlinger. Det er en ramme med klasser og grænseflader til lagring og manipulation af et sæt dataelementer. I en normal matrix er der et fast antal elementer, der skal gemmes. Det er en begrænsning af matriser. I stedet kan programmereren bruge samlinger. Handlinger 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øglen, værdipar. Der er kun unikke nøgler, og hver har en tilsvarende værdi. HashMap og TreeMap er klasser, der implementerer Map-grænsefladen. En 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. En TreeMap er en kortbaseret samlingsklasse, der bruges til at gemme nøgle- og værdipar, der opretholder stigende rækkefølge af dataelementer. Det vigtigste forskel mellem HashMap og TreeMap er det HashMap opretholder ikke en bestemt rækkefølge i dataelementer, mens TreeMap opretholder stigende rækkefølge af dataelementer.
1. Oversigt og nøgleforskel
2. Hvad er HashMap
3. Hvad er TreeMap
4. Ligheder mellem HashMap og TreeMap
5. Sammenligning side ved side - HashMap vs TreeMap i tabelform
6. Resume
HashMap er en klasse, der implementerer kortgrænsefladen. Det udvider klassen AbstractMap og implementerer kortgrænsefladen. En HashMap indeholder nøglen, værdipar. Hvert element er unikt. Det er let at finde elementerne i HashMap ved hjælp af nøglen. At erklære en HashMap er som følger.
public class HashMap udvider AbstractMap redskaber Kort, Cloneable, Serializable
K henviser til nøglen, mens V henviser til den værdi, der svarer til den specifikke nøgle. Hver nøgle, værdipar er en post i HashMap.
Figur 01: Kortgrænseflade
Antag et scenario som følger for at forstå HaspMap. Hvis programmereren der vil gemme et sæt studerende navne og tilsvarende indeksnumre, kan han bruge HashMap. Studentenavne bruges til at finde indeksnumrene. Derfor er studerendes navne nøglerne, mens indeksnumre er værdierne.
Figur 02: HashMap-program ved hjælp af Java
I henhold til ovenstående program oprettes et objekt med HashMap. Derefter kan programmereren 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 programmereren bruge get-metoden med nøglen. Når du bruger studentList.get (“150”); det udskriver det tilsvarende navn til det indeks, der er Ann. Hvis programmereren ønsker at få alle værdier, kan han bruge Map.Entry til at udskrive alle taster og værdier. Når man observerer output, kan det ses, at HashMap ikke opretholder en bestemt rækkefølge. Det udskriver ikke elementerne i den indsatte rækkefølge. Elementerne udskrives i en tilfældig rækkefølge.
TreeMap er en klasse i Java, der implementerer Map-grænsefladen. Ligesom med en HashMap, bruges det også til opbevaring af nøgle-, værdipar, men i stigende rækkefølge. TreeMap implementerer NavigableMap og NavigableMap udvider SortedMap og SortedMap extends Map. Hvert element er unikt. At erklære et TreeMap er som følger.
public class TreeMap udvider AbstractMap redskaber NavigableMap, Cloneable, Serializable
K henviser til nøglen, mens V henviser til den værdi, der svarer til den specifikke nøgle. Hver tast, værdipar er en post i TreeMap.
Figur 03: TreeMap-program ved hjælp af Java
I henhold til ovenstående program oprettes et objekt fra TreeMap. Derefter kan programmereren 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 programmereren bruge get-metoden med nøglen. Når du bruger studentList.get (“150”); det udskriver det tilsvarende navn til det indeks, der er Ann. Hvis programmereren ønsker at få alle værdier, kan han bruge Map.Entry til at udskrive alle taster og værdier. Når man ser output, kan det ses, at TreeMap opretholder en bestemt rækkefølge. Elementerne udskrives i stigende rækkefølge.
HashMap vs TreeMap | |
En HashMap er en kortbaseret samlingsklasse, der bruges til at gemme nøgle- og værdipar, som ikke opretholder en bestemt rækkefølge i dataelementer. | En TreeMap er en kortbaseret samlingsklasse, der bruges til at gemme nøgle- og værdipar, som opretholder stigende rækkefølge af dataelementer. |
Bestille | |
HashMap opretholder ikke ordren. | TreeMap opretholder den stigende rækkefølge. |
Nul nøgle | |
HashMap kan indeholde en nul-nøgle. | TreeMap kan ikke have en nul-nøgle. |
Ydeevne | |
HashMap er hurtigere end TreeMap. | TreeMap er langsommere end HashMap. |
Programmeringssprog som Java indeholder indsamlingsrammen. I matriser kan der være et fast antal elementer. Derfor skal arraystørrelsen initialiseres i begyndelsen. I samlinger kan programmereren gemme mange elementer efter behov. Der er ikke noget specifikt beløb at gemme. Kortet er en grænseflade, der hører til indsamlingsrammer. En HashMap er en kortbaseret samlingsklasse, der bruges til at gemme nøgle- og værdipar, som ikke opretholder en bestemt rækkefølge i dataelementer. En TreeMap er en kortbaseret samlingsklasse, der bruges til at gemme nøgle- og værdipar, som opretholder den stigende rækkefølge af dataelementer. Denne artikel diskuterede forskellen mellem HashMap og TreeMap, der implementerer Map-grænsefladen. Forskellen mellem HashMap og TreeMap er, at HashMap ikke opretholder en bestemt rækkefølge i dataelementer, mens TreeMap opretholder stigende rækkefølge af dataelementer.
1. "HashMap i Java - javatpoint." Pointen, Tilgængelig her
2. "TreeMap i Java - javatpoint." Pointen, Tilgængelig her
1.'Java.util.Map hierarky'By ramlmn - Eget arbejde, (CC BY-SA 4.0) via Commons Wikimedia