Skillnad mellan HashMap och TreeMap

Huvudskillnad - HashMap vs TreeMap
 

I programmeringen finns det olika mekanismer för att samla in data. Samlingar är en metod för att lagra data. Programmeringsspråk som Java-användargrupper. Det är en ram med klasser och gränssnitt för lagring och manipulering av en uppsättning dataelement. I en normal array finns ett fast antal element att lagra. Det är en begränsning av arrays. Istället kan programmeraren använda samlingar. Verksamhet som att infoga, ta bort, sortera och söka kan utföras med hjälp av samlingar. I Java hör Map-gränssnittet till samlingar. Kartan används för att representera data i nyckeln, värdepar. Det finns bara unika nycklar, och var och en har ett motsvarande värde. HashMap och TreeMap är klasser som implementerar Map-gränssnittet. En HashMap är en kartbaserad samlingsklass som används för att lagra nyckel- och värdepar som inte behå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 av dataelement. De nyckelskillnad mellan HashMap och TreeMap är det HashMap upprätthåller inte en specifik ordning i dataelement medan TreeMap upprätthåller den stigande ordningen av dataelement.

INNEHÅLL

1. Översikt och nyckelskillnad
2. Vad är HashMap
3. Vad är TreeMap
4. Likheter mellan HashMap och TreeMap
5. Jämförelse vid sida vid sida - HashMap vs TreeMap i tabellform
6. Sammanfattning

Vad är HashMap?

HashMap är en klass som implementerar kartgränssnittet. Det utökar klassen AbstractMap och implementerar Map-gränssnittet. En HashMap innehåller nyckelparametrarna. Varje element är unikt. Det är lätt att hitta elementen i HashMap med hjälp av nyckeln. Deklarera en HashMap är som följer.

public class HashMap utökar AbstractMap implementerar Map, Cloneable, Serializable

K hänvisar nyckeln medan V avser värdet som motsvarar den specifika nyckeln. Varje nyckelvärdespar är en post i HashMap.

Figur 01: Kartgränssnitt

Antag ett scenario enligt följande för att förstå HaspMap. Om det där programmeraren vill lagra en uppsättning studentnamn och motsvarande indexnummer kan han använda HashMap. Studentnamnen används för att hitta indexnummer. Studentnamn är därför nycklarna medan indexnummer är värdena.

Figur 02: HashMap-program med Java

Enligt ovanstående program skapas ett objekt av HashMap. Då kan programmeraren lägga till element med det objektet. Värden kan infogas med put-metoden. För att hämta värdena ska programmeraren använda get-metoden med nyckeln. När du använder studentList.get ("150"); det kommer att skriva ut motsvarande namn till det indexet 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 man observerar utsignalen kan man se att HashMap inte behåller en viss order. Det skriver inte ut elementen i den inmatade beställningen. Elementen skrivs ut i slumpmässig ordning.

Vad är TreeMap?

TreeMap är en klass i Java som implementerar Map-gränssnittet. Liknar en HashMap, används den också för att lagra nyckelparametrar men i stigande ordning. TreeMap implementerar NavigableMap och NavigableMap utökar SorteredMap och SortedMap utökar Map. Varje element är unikt. Deklarera en TreeMap är som följer.

public class TreeMap utökar AbstractMap implementerar NavigableMap, Cloneable, Serializable

K hänvisar nyckeln medan V avser värdet som motsvarar den specifika nyckeln. Varje nyckel, värdepar är en post i TreeMap.

Figur 03: TreeMap Program med Java

Enligt ovanstående program skapas ett objekt av TreeMap. Då kan programmeraren lägga till element med det objektet. Värden kan infogas med put-metoden. För att hämta värdena ska programmeraren använda get-metoden med nyckeln. När du använder studentList.get ("150"); det kommer att skriva ut motsvarande namn till det indexet 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 utmatningen kan det ses att TreeMap upprätthåller en specifik order. Elementen skrivs i stigande ordning.

Vad är likheterna mellan HashMap och TreeMap?

  • Både HashMap och TreeMap implementerar Map-gränssnittet.
  • Både HashMap och TreeMap kan lagra och manipulera många element.
  • Både HashMap och TreeMap innehåller nyckelparametrar.
  • Både HashMap och TreeMap kan ha många nullvä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

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 av dataelement.
 Ordning
HashMap behåller inte beställningen. TreeMap upprätthåller stigande order.
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 samlingsramen. I arrays kan det finnas ett fast antal element. Därför bör arraystorleken initialiseras i början. I samlingar kan programmeraren lagra många element efter behov. Det finns ingen specifik mängd som ska lagras. Kartan är ett gränssnitt tillhör insamlingsramen. En HashMap är en kartbaserad samlingsklass som används för att lagra nyckel- och värdepar som inte behåller en viss order 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 av dataelement. I denna artikel diskuterades skillnaden mellan HashMap och TreeMap som implementerar Map-gränssnittet. Skillnaden mellan HashMap och TreeMap är att HashMap inte behåller en viss order i dataelement medan TreeMap upprätthåller den stigande ordningen av dataelement.

Referens:

1. "HashMap i Java - javatpoint." Punkten, Tillgänglig här
2. "TreeMap i Java - javatpoint."  Punkten, Tillgänglig här

Image Courtesy:

1.'Java.util.Map hierarki 'Av ramlmn - eget arbete, (CC BY-SA 4,0) via Commons Wikimedia