Key Difference – HashMap vs TreeMap
Inom programmering finns det olika mekanismer för att samla in data. Samlingar är en metod för att lagra data. Programmeringsspråk som Java använder samlingar. Det är ett ramverk med klasser och gränssnitt för att lagra och manipulera en uppsättning dataelement. I en normal array finns det ett fast antal element att lagra. Det är en begränsning av arrayer. Istället kan programmeraren använda samlingar. Operationer som att infoga, ta bort, sortera och söka kan utföras med hjälp av samlingar. I Java tillhör kartgränssnittet samlingar. Kartan används för att representera data i nyckel-värdeparen. Det finns bara unika nycklar, och var och en har ett motsvarande värde. HashMap och TreeMap är klasser som implementerar kartgränssnittet. En HashMap är en kartbaserad samlingsklass som används för att lagra nyckel- och värdepar som inte upprätthåller en specifik ordning i dataelement. En TreeMap är en kartbaserad samlingsklass som används för att lagra nyckel- och värdepar som upprätthåller den stigande ordningen för dataelement. Den viktigaste skillnaden mellan HashMap och TreeMap är att HashMap inte upprätthåller en specifik ordning i dataelement medan TreeMap upprätthåller den stigande ordningen för dataelement.
Vad är HashMap?
HashMap är en klass som implementerar kartgränssnittet. Den utökar AbstractMap-klassen och implementerar Map-gränssnittet. En HashMap innehåller nyckeln, värdepar. Varje element är unikt. Det är lätt att hitta elementen i HashMap med hjälp av nyckeln. Att deklarera en HashMap är som följer.
public class HashMap utökar AbstractMap implementerar Map, Cloneable, Serializable
K hänvisar till tangenten medan V hänvisar till värdet som motsvarar den specifika tangenten. Varje nyckel, värdepar är en post i HashMap.
Figur 01: Kartgränssnitt
Anta ett scenario enligt följande för att förstå HaspMap. Om programmeraren där vill lagra en uppsättning elevnamn och motsvarande indexnummer kan han använda HashMap. Elevnamnen används för att hitta indexnumren. Därför är elevnamn nycklarna medan indexnummer är värdena.
Figur 02: HashMap-program som använder Java
Enligt programmet ovan skapas ett objekt av HashMap. Sedan kan programmeraren lägga till element med hjälp av det objektet. Värden kan infogas med putmetoden. För att hämta värdena bör programmeraren använda get-metoden med nyckeln. När du använder studentList.get(“150”); det kommer att skriva ut motsvarande namn till det index som är Ann. Om programmeraren vill få alla värden kan han använda Map. Entry för att skriva ut alla nycklar och värden. När du observerar utdata kan det ses att HashMap inte upprätthåller en specifik ordning. Den skriver inte ut elementen i den infogade ordningen. Elementen skrivs ut i slumpmässig ordning.
Vad är TreeMap?
TreeMap är en klass i Java som implementerar kartgränssnittet. I likhet med en HashMap används den också för att lagra nyckel- och värdepar men i stigande ordning. TreeMap implementerar NavigableMap och NavigableMap utökar SortedMap och SortedMap utökar kartan. Varje element är unikt. Att deklarera en TreeMap är som följer.
public class TreeMap utökar AbstractMap implementerar NavigableMap, Cloneable, Serializable
K hänvisar till tangenten medan V hänvisar till värdet som motsvarar den specifika tangenten. Varje nyckel, värdepar är en post i TreeMap.
Figur 03: TreeMap-program med Java
Enligt programmet ovan skapas ett objekt av TreeMap. Sedan kan programmeraren lägga till element med hjälp av det objektet. Värden kan infogas med putmetoden. För att hämta värdena bör programmeraren använda get-metoden med nyckeln. När du använder studentList.get(“150”); det kommer att skriva ut motsvarande namn till det index som är Ann. Om programmeraren vill få alla värden kan han använda Map. Entry för att skriva ut alla nycklar och värden. När du observerar utdata kan det ses att TreeMap upprätthåller en specifik ordning. Elementen skrivs ut i stigande ordning.
Vilka är likheterna mellan HashMap och TreeMap?
- Både HashMap och TreeMap implementerar kartgränssnitt.
- Både HashMap och TreeMap kan lagra och manipulera många element.
- Både HashMap och TreeMap innehåller nyckel- och värdepar.
- Både HashMap och TreeMap kan ha många nollvärden.
- Det finns ingen begränsning för antalet element som kan lagras i både HashMap och TreeMap.
Vad är skillnaden mellan HashMap och TreeMap?
HashMap vs TreeMap |
|
A HashMap är en kartbaserad samlingsklass som används för att lagra nyckel- och värdepar som inte upprätthåller en specifik ordning i dataelement. | A TreeMap är en kartbaserad samlingsklass som används för att lagra nyckel- och värdepar som upprätthåller den stigande ordningen för dataelement. |
Order | |
The HashMap upprätthåller inte ordningen. | Trädkartan bibehåller den stigande ordningen. |
Null Key | |
HashMap kan innehålla en nollnyckel. | TreeMap kan inte ha en nollnyckel. |
Prestanda | |
HashMap är snabbare än TreeMap. | TreeMap är långsammare än HashMap. |
Sammanfattning – HashMap vs TreeMap
Programmeringsspråk som Java innehåller samlingsramverket. I arrayer kan det finnas ett fast antal element. Därför bör arraystorleken initieras i början. I samlingar kan programmeraren lagra många element efter behov. Det finns ingen specifik mängd att lagra. Kartan är ett gränssnitt som tillhör samlingsramverket. En HashMap är en kartbaserad samlingsklass som används för att lagra nyckel- och värdepar som inte upprätthåller en specifik ordning i dataelement. En TreeMap är en kartbaserad samlingsklass som används för att lagra nyckel- och värdepar som upprätthåller den stigande ordningen för dataelement. Den här artikeln diskuterade skillnaden mellan HashMap och TreeMap som implementerar kartgränssnittet. Skillnaden mellan HashMap och TreeMap är att HashMap inte upprätthåller en specifik ordning i dataelement medan TreeMap upprätthåller den stigande ordningen för dataelement.