De huvudskillnad mellan Hashtable och Dictionary är att Hashtable är en svagt typad datastruktur så det är möjligt att lägga till nycklar och värden av vilken typ som helst medan ordlistan är en starkt typad datastruktur så det är bara möjligt att lägga till de element som uppfyller de angivna datatyperna för både nyckel och värde.
Hashtable och dictionary är två huvuddatastrukturer. De båda kan hålla data som nyckelvärdespar. En Hashtable eller en ordlista kan bara innehålla unika nycklar. Programmeraren kan hitta eller ta bort ett specifikt värde med tangenten. Hashtable är inte starkt skrivet. Därför kan programmeraren lägga till något element i nyckelvärdesparet till Hashtable. Å andra sidan är ordboken starkt skrivet. Programmeraren bör ange datatyperna för nycklarna och värdena. Det går inte att lägga till element som inte uppfyller de angivna datatyperna. Till exempel, om ordlistan har generisk typ
1. Vad är generisk datatyp
- Definition
2. Vad är Hashtable
- Definition, Funktionalitet
3. Vad är Dictionary
- Definition, Funktionalitet
4. Skillnad mellan Hashtable och Dictionary
- Jämförelse av viktiga skillnader
Ordbok, Hashtable, datastrukturer
En generell datatyp är en datatyp som tillåter användaren att definiera klasser och metoder med platshållare. Kompilatorer som C # kan ersätta platshållare med angiven datatyp vid kompileringstid. Det används för att skapa generella klasser och metoder. När en generisk klass definieras bör programmeraren använda vinkelparenteser (<>). Dessa parenteser förklarar en klass eller metod som generisk typ.
En Hashtable är en datastruktur som implementerar en abstrakt datatyp för associativ array, en struktur som kan kartlägga nyckeln till värden. Det är inte en generell datatyp. Se ett stycke kod enligt följande.
Figur 1: C # -program med Hashtable
I ovanstående program, tal är ett föremål av typen Hashtable. Nyckelvärdespar läggs till i Hashtable. Från uttalande 15 till 17 är nycklarna av typ int och värdena är av typen sträng. I uttalande 18 är nyckeln och värdet strängar. En Hashtable är en veckotypad datastruktur. Därför kan programmeraren lägga till nycklar och värden av vilken typ som helst till Hashtable.
Figur 2: HashTable Programutgång
Programmets utgång är som ovan. Hashtable skriver inte ut posterna i enlighet med ordning där elementen har lagt till. Därför behåller den inte den införda beställningen.
En ordbok använder begreppet Hashtable. Det är en generisk datatyp. Se nedan programmet. namn är ett objekt för ordbokstyp. Den har specifika datatyper att lagra för nycklar och värden. Enligt detta program definieras de generiska typerna som
Figur 3: C # -program med ordbok
Alla element som läggs till ovanstående ordbok har nyckel- och värdepar av typen String. Att skriva ut nyckeln och värdena till konsolen kommer att ge en effekt som liknar figur 4. Att hämta objekten från Ordbok kommer att skriva ut poster i samma ordning som elementen tillsattes. Därför upprätthåller den den införda beställningen.
Figur 4: Ordboksprogramutgång
Sammanfattningsvis är ordboken snabb i körning men det ger inte trådsäkerhet.
En Hashtable är en datastruktur som implementerar en abstrakt datatyp för associativ array, en struktur som kan kartlägga nyckeln till värden. A Dictionary är en datastruktur baserad på Hashtable som lagrar värden på grundval av nycklar.
Dessutom är Hashtable en svagt typad datastruktur. Därför kan programmeraren lägga till nycklar och värden för alla objekttyper till Hashtable. En ordbok är starkt skrivet datastruktur. ( Hashtable är också inte generiskt medan Dictionary är generisk typ. Dessutom finns boxning och unboxing i Hashtable men inte i Dictionary. Ordlistan förbrukar minimalt minne och körs snabbare än Hashtable. Att hämta elementen i Hashtable behåller inte den inmatade beställningen. Å andra sidan hämtar elementen från en ordbok den införda ordningen. Dessutom erbjuder Hashtable mer trådsäkerhet. Den stöder flera läsare trådar och en enda skribent tråd. Ordbok ger inte trådsäkerhet. För att implementera trådsäkerhet bör programmeraren skriva en egen synkroniserad kod. Hashtable ht = ny Hashtable (); Ordbok Skillnaden mellan Hashtable och Dictionary är att Hashtable är en svagt typad datastruktur så det är möjligt att lägga till nycklar och värden av vilken typ som helst, medan ordlistan är en starkt typad datastruktur så det är bara möjligt att lägga till de element som uppfyllde den angivna datatyper för både nyckel och värde. 1. "C # Hashtable Class." Www.tutorialspoint.com, Tutorials Point, 21 juli 2018, Tillgänglig här.Typ
Utförandehastighet
Hämta elementen
Trådsäkerhet
Exempelsyntax
Slutsats
Referens:
2. "C # Hashtable." Datatyper i C #, Tutorials Lärare. Tillgänglig här.
3. "C # Dictionary" - Javatpoint. "Www.javatpoint.com, Tillgänglig här.