Belangrijkste verschil - HashMap versus TreeMap
Bij het programmeren zijn er verschillende mechanismen om gegevens te verzamelen. Verzamelingen 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- en waardeparen weer te geven. Er zijn alleen unieke sleutels en elk heeft een overeenkomstige 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 behouden. Een TreeMap is een op kaarten gebaseerde verzamelingsklasse die wordt gebruikt voor het opslaan van sleutel- en waardeparen die de oplopende volgorde van gegevenselementen behouden. Het belangrijkste verschil tussen HashMap en TreeMap is dat HashMap geen specifieke volgorde in gegevenselementen handhaaft, terwijl TreeMap de oplopende volgorde van gegevenselementen handhaaft.
INHOUD
1. Overzicht en belangrijkste verschil
2. Wat is HashMap
3. Wat is TreeMap
4. Overeenkomsten tussen HashMap en TreeMap
5. Vergelijking zij aan zij - HashMap versus TreeMap in tabelvorm
6. Samenvatting
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- en 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 is als volgt.
openbare klasse HashMap breidt uit AbstractMap implementeert Map, Cloneable, Serializable
De K verwijst naar de sleutel terwijl V verwijst naar de waarde die overeenkomt met die specifieke sleutel. Elk sleutel / waarde-paar is een invoer van de HashMap.
Figuur 01: kaartinterface
Ga uit van een scenario als volgt om de HaspMap te begrijpen. Als de programmeur daar een set studentnamen en bijbehorende indexnummers wil opslaan, kan hij de HashMap gebruiken. De studentennamen worden gebruikt om de indexnummers te vinden. Daarom zijn studentennamen de sleutels, terwijl indexnummers de waarden zijn.
Figuur 02: HashMap-programma met Java
Volgens het bovenstaande programma wordt een object van HashMap gemaakt. Vervolgens kan de programmeur met dat object elementen toevoegen. 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 naar die index afdrukken, die Ann is. Als de programmeur alle waarden wil ophalen, 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. De elementen worden niet in de ingevoegde volgorde afgedrukt. De elementen worden in willekeurige volgorde afgedrukt.
Wat is TreeMap?
De TreeMap is een klasse in Java die de kaartinterface implementeert. Net als bij een HashMap, wordt het ook gebruikt voor het opslaan van sleutel- en waardeparen, maar in oplopende volgorde. De TreeMap implementeert de NavigableMap en NavigableMap breidt SortedMap uit en SortedMap breidt Map uit. Elk element is uniek. Het declareren van een TreeMap is als volgt.
public class TreeMap breidt uit AbstractMap implementeert NavigableMap, Cloneable, Serializable
De K verwijst naar de sleutel terwijl V verwijst naar de waarde die overeenkomt met die specifieke sleutel. Elk sleutel / waarde-paar is een invoer van de TreeMap.
Figuur 03: TreeMap-programma met Java
Volgens het bovenstaande programma wordt een object van TreeMap gemaakt. Vervolgens kan de programmeur met dat object elementen toevoegen. 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 van die index afdrukken, dat is Ann. Als de programmeur alle waarden wil ophalen, kan hij Map. Entry gebruiken om alle sleutels en waarden af te drukken. Bij het observeren van de uitvoer kan worden gezien dat TreeMap een specifieke volgorde aanhoudt. De elementen worden in oplopende volgorde geprint.
Wat zijn de overeenkomsten tussen HashMap en TreeMap?
- Zowel HashMap als TreeMap implementeert de kaartinterface.
- Zowel HashMap als TreeMap kunnen veel elementen opslaan en manipuleren.
- Zowel HashMap als TreeMap bevat sleutel- en waardeparen.
- Zowel HashMap als TreeMap kunnen veel null-waarden hebben.
- Er is geen beperking op het aantal elementen dat kan worden opgeslagen in zowel HashMap als TreeMap.
Wat is het verschil tussen HashMap en TreeMap?
Diff Artikel Midden voor Tafel
HashMap versus 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 behouden. | Een TreeMap is een op kaarten gebaseerde verzamelingsklasse die wordt gebruikt voor het opslaan van sleutel- en waardeparen die de oplopende volgorde van gegevenselementen behouden. |
Bestellen | |
De HashMap handhaaft de volgorde niet. | De TreeMap handhaaft de oplopende volgorde. |
Null-sleutel | |
De HashMap kan één null-sleutel bevatten. | De TreeMap kan geen null-sleutel hebben. |
Prestatie | |
HashMap is sneller dan TreeMap. | TreeMap is langzamer dan HashMap. |
Samenvatting - HashMap versus TreeMap
Programmeertalen zoals Java bevatten het collectieframework. In arrays kan er een vast aantal elementen zijn. Daarom moet de array-grootte aan het begin worden geïnitialiseerd. In verzamelingen kan de programmeur naar behoefte veel elementen opslaan. Er is geen specifiek bedrag om op te slaan. De kaart is een interface die behoort tot het verzamelingsraamwerk. Een HashMap is een op kaarten gebaseerde verzamelingsklasse die wordt gebruikt voor het opslaan van sleutel- en waardeparen die geen specifieke volgorde in gegevenselementen behouden. Een TreeMap is een op kaarten gebaseerde verzamelingsklasse die wordt gebruikt voor het opslaan van sleutel- en waardeparen die de oplopende volgorde van gegevenselementen behouden. 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 handhaaft, terwijl TreeMap de oplopende volgorde van gegevenselementen handhaaft.