Il differenza principale tra Hashtable e Dictionary è quello Hashtable è una struttura di dati debolmente tipizzata, quindi è possibile aggiungere chiavi e valori di qualsiasi tipo mentre il dizionario è una struttura di dati fortemente tipizzata, quindi è possibile aggiungere solo gli elementi che soddisfano i tipi di dati specificati sia per la chiave che per il valore.
Hashtable e dizionario sono due strutture dati principali. Entrambi possono contenere i dati come coppie di valori chiave. Un Hashtable o un dizionario possono contenere solo chiavi univoche. Il programmatore può trovare o rimuovere un valore specifico usando il tasto. Hashtable non è fortemente digitato. Pertanto, il programmatore può aggiungere qualsiasi elemento della coppia chiave-valore all'Hashtable. D'altra parte, il dizionario è fortemente digitato. Il programmatore dovrebbe specificare i tipi di dati delle chiavi e dei valori. Non è possibile aggiungere elementi che non soddisfano i tipi di dati specificati. Ad esempio, se il dizionario ha un tipo generico
1. Che cos'è il tipo di dati generico
- Definizione
2. Cos'è Hashtable
- Definizione, Funzionalità
3. Cos'è il dizionario
- Definizione, Funzionalità
4. Differenza tra Hashtable e dizionario
- Confronto tra le principali differenze
Dizionario, Hashtable, Strutture dati
Un tipo di dati generici è un tipo di dati che consente all'utente di definire classi e metodi con segnaposto. I compilatori come C # possono sostituire i segnaposto con il tipo di dati specificato al momento della compilazione. È usato per creare classi e metodi per scopi generali. Quando si definisce una classe generica, il programmatore deve usare parentesi angolari (<>). Queste parentesi dichiarano una classe o un metodo come tipo generico.
Un Hashtable è una struttura dati che implementa un tipo di dati astratto array associativo, una struttura in grado di mappare la chiave ai valori. Non è un tipo di dati generico. Fare riferimento a un pezzo di codice come segue.
Figura 1: programma C # con Hashtable
Nel programma sopra, numeri è un oggetto di tipo Hashtable. Le coppie chiave-valore vengono aggiunte a Hashtable. Dalla proposizione 15 alla 17, le chiavi sono di tipo int e i valori sono di tipo stringa. Nell'istruzione 18, la chiave e il valore sono stringhe. Un Hashtable è una struttura di dati digitata settimanalmente. Pertanto, il programmatore può aggiungere chiavi e valori di qualsiasi tipo a Hashtable.
Figura 2: output del programma HashTable
L'output del programma è come sopra. L'Hashtable non stampa i record in base all'ordine in cui gli elementi sono stati aggiunti. Pertanto, non mantiene l'ordine inserito.
Un dizionario usa il concetto di Hashtable. È un tipo di dati generico. Fare riferimento al programma seguente. nomi è un oggetto del tipo di dizionario. Ha tipi di dati specifici da memorizzare per chiavi e valori. Secondo questo programma, i tipi generici sono definiti come
Figura 3: programma C # con dizionario
Tutti gli elementi aggiunti al dizionario precedente hanno coppie chiave e valore di tipo String. Stampando la chiave e i valori sulla console si otterrà un risultato simile alla figura 4. Recupero degli elementi dal Dizionario stamperà i record nello stesso ordine in cui sono stati aggiunti gli elementi. Pertanto, mantiene l'ordine inserito.
Figura 4: Output del programma di dizionario
Complessivamente, il dizionario è veloce in esecuzione ma non fornisce la sicurezza del thread.
Un Hashtable è una struttura dati che implementa un tipo di dati astratto array associativo, una struttura in grado di mappare la chiave ai valori. Un dizionario è una struttura dati basata su Hashtable che memorizza i valori sulla base delle chiavi.
Inoltre, Hashtable è una struttura di dati debolmente tipizzata. Pertanto, il programmatore può aggiungere chiavi e valori di qualsiasi tipo di oggetto a Hashtable. Un dizionario è una struttura di dati fortemente tipizzata. ( Inoltre, Hashtable non è generico mentre Dizionario è di tipo generico. Inoltre, in Hashtable c'è boxe e unboxing ma non nel dizionario. Il dizionario consuma memoria minima ed esegue più velocemente di Hashtable. Il recupero degli elementi in Hashtable non mantiene l'ordine inserito. D'altra parte, il recupero degli elementi da un dizionario mantiene l'ordine inserito. Inoltre, Hashtable offre più sicurezza sulla filettatura. Supporta più thread di lettura e un singolo thread di scrittura. Il dizionario non fornisce la sicurezza del thread. Per implementare la sicurezza dei thread, il programmatore dovrebbe scrivere il proprio codice sincronizzato. Hashtable ht = new Hashtable (); Dizionario La differenza tra Hashtable e Dictionary è che Hashtable è una struttura di dati debolmente tipizzata, quindi è possibile aggiungere chiavi e valori di qualsiasi tipo mentre il Dizionario è una struttura di dati fortemente tipizzata, quindi è possibile solo aggiungere gli elementi che hanno soddisfatto la specifica tipi di dati sia per la chiave che per il valore. 1. "C # Hashtable Class." Www.tutorialspoint.com, Tutorials Point, 21 luglio 2018, disponibile qui.genere
Velocità di esecuzione
Recupero degli elementi
Filo di sicurezza
Sintassi di esempio
Conclusione
Riferimento:
2. "C # Hashtable." Tipi di dati in C #, insegnante di tutorial. Disponibile qui.
3. "Dizionario C # - Javatpoint". Www.javatpoint.com, disponibile qui.