Verschil tussen HashMap en TreeMap

Inhoudsopgave:

Verschil tussen HashMap en TreeMap
Verschil tussen HashMap en TreeMap

Video: Verschil tussen HashMap en TreeMap

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

Belangrijk verschil – HashMap vs TreeMap

Bij het programmeren zijn er verschillende mechanismen om gegevens te verzamelen. Collecties is een methode om gegevens op te slaan. Programmeertalen zoals Java gebruiken Collections. Het is een raamwerk met klassen en interfaces voor het opslaan en manipuleren van een set gegevenselementen. In een normale array is er een vast aantal elementen om op te slaan. Dat is een beperking van arrays. In plaats daarvan kan de programmeur verzamelingen gebruiken. Bewerkingen zoals invoegen, verwijderen, sorteren en zoeken kunnen worden uitgevoerd met behulp van verzamelingen. In Java behoort de kaartinterface tot verzamelingen. De kaart wordt gebruikt om gegevens in de sleutel-waardeparen weer te geven. Er zijn alleen unieke sleutels en elke sleutel heeft een bijbehorende waarde. HashMap en TreeMap zijn klassen die de kaartinterface implementeren. Een HashMap is een op kaarten gebaseerde verzamelingsklasse die wordt gebruikt voor het opslaan van sleutel- en waardeparen die geen specifieke volgorde in gegevenselementen aanhouden. Een TreeMap is een op kaarten gebaseerde verzamelingsklasse die wordt gebruikt voor het opslaan van sleutel- en waardeparen die de oplopende volgorde van gegevenselementen handhaven. Het belangrijkste verschil tussen HashMap en TreeMap is dat HashMap geen specifieke volgorde in gegevenselementen aanhoudt, terwijl TreeMap de oplopende volgorde van gegevenselementen handhaaft.

Wat is HashMap?

HashMap is een klasse die de kaartinterface implementeert. Het breidt de klasse AbstractMap uit en implementeert de kaartinterface. Een HashMap bevat de sleutel, waardeparen. Elk element is uniek. Het is gemakkelijk om de elementen in HashMap te vinden met behulp van de sleutel. Het declareren van een HashMap gaat als volgt.

public class HashMap breidt AbstractMap uit en implementeert Map, Cloneable, Serializable

De K verwijst naar de sleutel terwijl V verwijst naar de waarde die overeenkomt met die specifieke sleutel. Elk sleutel-, waardepaar is een invoer van de HashMap.

Verschil tussen HashMap en TreeMap
Verschil tussen HashMap en TreeMap

Figuur 01: Kaartinterface

Veronderstel een scenario als volgt om de HaspMap te begrijpen. Als de programmeur daar een set studentennamen en bijbehorende indexnummers wil opslaan, kan hij de HashMap gebruiken. De leerlingnamen worden gebruikt om de indexnummers te vinden. Daarom zijn de namen van leerlingen de sleutels, terwijl indexnummers de waarden zijn.

Verschil tussen HashMap en TreeMap _Figuur 02
Verschil tussen HashMap en TreeMap _Figuur 02

Figuur 02: HashMap-programma met Java

Volgens het bovenstaande programma wordt een object van HashMap gemaakt. Dan kan de programmeur elementen toevoegen met dat object. Waarden kunnen worden ingevoegd met behulp van de put-methode. Om de waarden op te halen, moet de programmeur de methode get gebruiken met de sleutel. Bij gebruik van studentList.get(“150”); het zal de corresponderende naam afdrukken voor die index die Ann is. Als de programmeur alle waarden wil krijgen, kan hij Map. Entry gebruiken om alle sleutels en waarden af te drukken. Bij het observeren van de uitvoer kan worden gezien dat HashMap geen specifieke volgorde aanhoudt. Het drukt de elementen niet af in de ingevoegde volgorde. De elementen worden in willekeurige volgorde afgedrukt.

Wat is TreeMap?

The TreeMap is een klasse in Java die de kaartinterface implementeert. Net als een HashMap, werd het ook gebruikt voor het opslaan van sleutel-, waardeparen, maar in oplopende volgorde. De TreeMap implementeert de NavigableMap en NavigableMap breidt SortedMap uit en SortedMap breidt de kaart uit. Elk element is uniek. Het declareren van een TreeMap gaat als volgt.

public class TreeMap breidt AbstractMap uit implementeert NavigableMap, Cloneable, Serializable

De K verwijst naar de sleutel terwijl V verwijst naar de waarde die overeenkomt met die specifieke sleutel. Elk sleutel-, waardepaar is een invoer van de TreeMap.

Belangrijkste verschil tussen HashMap en TreeMap
Belangrijkste verschil tussen HashMap en TreeMap

Figuur 03: TreeMap-programma met Java

Volgens bovenstaand programma wordt een object van TreeMap gemaakt. Dan kan de programmeur elementen toevoegen met dat object. Waarden kunnen worden ingevoegd met behulp van de put-methode. Om de waarden op te halen, moet de programmeur de methode get gebruiken met de sleutel. Bij gebruik van studentList.get(“150”); het zal de corresponderende naam afdrukken voor die index die Ann is. Als de programmeur alle waarden wil krijgen, kan hij Map. Entry gebruiken om alle sleutels en waarden af te drukken. Bij het observeren van de output is te zien dat TreeMap een specifieke volgorde aanhoudt. De elementen worden in oplopende volgorde afgedrukt.

Wat zijn de overeenkomsten tussen HashMap en TreeMap?

  • Zowel HashMap als TreeMap implementeren de kaartinterface.
  • Zowel HashMap als TreeMap kunnen veel elementen opslaan en manipuleren.
  • Zowel HashMap als TreeMap bevatten sleutel-, waardeparen.
  • Zowel HashMap als TreeMap kunnen veel null-waarden hebben.
  • Er is geen beperking aan het aantal elementen dat kan worden opgeslagen in zowel HashMap als TreeMap.

Wat is het verschil tussen HashMap en TreeMap?

HashMap vs TreeMap

Een HashMap is een op kaarten gebaseerde verzamelingsklasse die wordt gebruikt voor het opslaan van sleutel- en waardeparen die geen specifieke volgorde in gegevenselementen aanhouden. A TreeMap is een op kaarten gebaseerde verzamelingsklasse die wordt gebruikt voor het opslaan van sleutel- en waardeparen die de oplopende volgorde van gegevenselementen handhaaft.
Bestellen
De HashMap handhaaft de volgorde niet. De TreeMap handhaaft de oplopende volgorde.
Null-toets
De HashMap kan één null-sleutel bevatten. De TreeMap mag geen null-sleutel hebben.
Prestaties
HashMap is sneller dan TreeMap. TreeMap is langzamer dan HashMap.

Samenvatting – HashMap vs TreeMap

Programmeertalen zoals Java bevatten het verzamelraamwerk. In arrays kan er een vast aantal elementen zijn. Daarom moet de arraygrootte aan het begin worden geïnitialiseerd. In collecties kan de programmeur naar behoefte vele elementen opslaan. Er is geen specifiek bedrag om op te slaan. De kaart is een interface die deel uitmaakt van het collectiekader. Een HashMap is een op kaarten gebaseerde verzamelingsklasse die wordt gebruikt voor het opslaan van sleutel- en waardeparen die geen specifieke volgorde in gegevenselementen aanhouden. Een TreeMap is een op kaarten gebaseerde verzamelingsklasse die wordt gebruikt voor het opslaan van sleutel- en waardeparen die de oplopende volgorde van gegevenselementen handhaaft. Dit artikel besprak het verschil tussen HashMap en TreeMap die de kaartinterface implementeert. Het verschil tussen HashMap en TreeMap is dat HashMap geen specifieke volgorde in gegevenselementen aanhoudt, terwijl TreeMap de oplopende volgorde van gegevenselementen handhaaft.

Aanbevolen: