Das Hauptunterschied zwischen Hashtable und Dictionary ist das der Hashtable ist eine schwach typisierte Datenstruktur. Es ist möglich, Schlüssel und Werte eines beliebigen Typs hinzuzufügen, während das Dictionary eine stark typisierte Datenstruktur ist. Daher können nur die Elemente hinzugefügt werden, die die angegebenen Datentypen sowohl für den Schlüssel als auch für den Wert erfüllen.
Hashtable und Dictionary sind zwei Hauptdatenstrukturen. Beide können Daten als Schlüsselwertpaare enthalten. Eine Hashtable oder ein Wörterbuch kann nur eindeutige Schlüssel enthalten. Der Programmierer kann mit der Taste einen bestimmten Wert finden oder entfernen. Hashtable ist nicht stark typisiert. Daher kann der Programmierer der Hashtable ein beliebiges Element eines Schlüsselwertpaares hinzufügen. Auf der anderen Seite ist das Wörterbuch stark typisiert. Der Programmierer sollte die Datentypen der Schlüssel und Werte angeben. Es ist nicht möglich, Elemente hinzuzufügen, die die angegebenen Datentypen nicht erfüllen. Zum Beispiel, wenn das Wörterbuch einen generischen Typ hat
1. Was ist ein generischer Datentyp?
- Definition
2. Was ist Hashtable?
- Definition, Funktionalität
3. Was ist Wörterbuch?
- Definition, Funktionalität
4. Unterschied zwischen Hashtable und Dictionary
- Vergleich der wichtigsten Unterschiede
Wörterbuch, Hashtabelle, Datenstrukturen
Ein generischer Datentyp ist ein Datentyp, mit dem der Benutzer Klassen und Methoden anhand von Platzhaltern definieren kann. Compiler wie C # können die Platzhalter zur Kompilierzeit durch den angegebenen Datentyp ersetzen. Es wird verwendet, um allgemeine Klassen und Methoden zu erstellen. Bei der Definition einer generischen Klasse sollte der Programmierer spitze Klammern (<>) verwenden. Diese Klammern deklarieren eine Klasse oder Methode als generischen Typ.
Eine Hashtable ist eine Datenstruktur, die einen abstrakten Datentyp eines assoziativen Arrays implementiert, eine Struktur, die Schlüssel zu Werten zuordnen kann. Es ist kein generischer Datentyp. Beziehen Sie einen Code wie folgt.
Abbildung 1: C # -Programm mit Hashtable
Im obigen Programm, Zahlen ist ein Objekt vom Typ Hashtable. Schlüssel-Wert-Paare werden zur Hashtabelle hinzugefügt. Von Anweisung 15 bis 17 sind die Schlüssel vom Typ int und die Werte vom Typ string. In Anweisung 18 sind Schlüssel und Wert Zeichenfolgen. Eine Hashtabelle ist eine wöchentlich typisierte Datenstruktur. Daher kann der Programmierer der Hashtabelle Schlüssel und Werte eines beliebigen Typs hinzufügen.
Abbildung 2: HashTable-Programmausgabe
Die Ausgabe des Programms ist wie oben. Die Hashtabelle druckt die Datensätze nicht in der Reihenfolge, in der die Elemente hinzugefügt wurden. Daher wird die eingefügte Reihenfolge nicht beibehalten.
Ein Wörterbuch verwendet das Konzept von Hashtable. Es ist ein generischer Datentyp. Siehe das untenstehende Programm. Namen ist ein Objekt vom Typ Dictionary. Es enthält bestimmte Datentypen, die für Schlüssel und Werte gespeichert werden sollen. Gemäß diesem Programm werden die generischen Typen als definiert
Abbildung 3: C # -Programm mit Dictionary
Alle dem obigen Wörterbuch hinzugefügten Elemente haben Schlüssel- und Wertepaare vom Typ String. Wenn Sie den Schlüssel und die Werte auf der Konsole ausdrucken, erhalten Sie eine Ausgabe ähnlich der in Abbildung 4. Wenn Sie die Elemente aus dem Wörterbuch abrufen, werden die Datensätze in der Reihenfolge gedruckt, in der die Elemente hinzugefügt wurden. Daher wird die eingefügte Reihenfolge beibehalten.
Abbildung 4: Ausgabe des Wörterbuchprogramms
Insgesamt ist Dictionary zwar schnell in der Ausführung, bietet jedoch keine Thread-Sicherheit.
Eine Hashtable ist eine Datenstruktur, die einen abstrakten Datentyp eines assoziativen Arrays implementiert, eine Struktur, die Schlüssel zu Werten zuordnen kann. Ein Dictionary ist eine auf Hashtable basierende Datenstruktur, die Werte auf Basis von Schlüsseln speichert.
Darüber hinaus ist Hashtable eine schwach typisierte Datenstruktur. Daher kann der Programmierer der Hashtabelle Schlüssel und Werte eines beliebigen Objekttyps hinzufügen. Ein Wörterbuch ist eine stark typisierte Datenstruktur. ( Hashtable ist nicht generisch, während Dictionary generischer Typ ist. Darüber hinaus gibt es Boxen und Unboxing in Hashtable, nicht jedoch in Dictionary. Das Wörterbuch verbraucht wenig Speicher und wird schneller ausgeführt als die Hashtabelle. Durch das Abrufen der Elemente in der Hashtable wird die eingefügte Reihenfolge nicht beibehalten. Durch das Abrufen der Elemente aus einem Wörterbuch bleibt die eingefügte Reihenfolge erhalten. Darüber hinaus bietet Hashtable mehr Threadsicherheit. Es unterstützt mehrere Reader-Threads und einen einzelnen Writer-Thread. Das Wörterbuch bietet keine Thread-Sicherheit. Um Thread-Sicherheit zu implementieren, sollte der Programmierer seinen eigenen synchronisierten Code schreiben. Hashtable ht = new Hashtable (); Wörterbuch Der Unterschied zwischen Hashtable und Dictionary besteht darin, dass Hashtable eine schwach typisierte Datenstruktur ist. Daher können Schlüssel und Werte eines beliebigen Typs hinzugefügt werden, während das Dictionary eine stark typisierte Datenstruktur ist. Daher können nur die Elemente hinzugefügt werden, die die angegebenen Eigenschaften erfüllen Datentypen für Schlüssel und Wert. 1. „C # Hashtable-Klasse“. Www.tutorialspoint.com, Tutorials Point, 21. Juli 2018, hier verfügbar.Art
Ausführungsgeschwindigkeit
Elemente abrufen
Fadensicherheit
Beispielsyntax
Fazit
Referenz:
2. "C # Hashtable". Datentypen in C #, Tutorials Teacher. Hier verfügbar.
3. “C # Dictionary - Javatpoint”. Www.javatpoint.com, erhältlich hier.