principala diferență între Hashtable și Dicționar este că Hashtable este o structură de date slab tastată, astfel încât este posibil să se adauge chei și valori de orice tip, în timp ce Dicționarul este o structură de date puternic tipată, astfel încât este posibilă adăugarea elementelor care satisfac tipurile de date specificate atât pentru cheie cât și pentru valoare.
Hashtable și dicționarul sunt două structuri principale de date. Ambele pot deține datele ca perechi de valori cheie. Un Hashtable sau un Dicționar poate conține numai chei unice. Programatorul poate găsi sau elimina o valoare specifică utilizând cheia. Hashtable nu este puternic tastat. Prin urmare, programatorul poate adăuga orice element de pereche cheie-valoare la Hashtable. Pe de altă parte, dicționarul este puternic tastat. Programatorul trebuie să specifice tipurile de date ale cheilor și valorilor. Nu este posibilă adăugarea elementelor care nu satisfac tipurile de date date. De exemplu, dacă Dicționarul are un tip generic
1. Ce este tipul generic de date
- Definiție
2. Ce este Hashtable
- Definiție, funcționalitate
3. Ce este dicționarul
- Definiție, funcționalitate
4. Diferența dintre Hashtable și Dicționar
- Compararea diferențelor cheie
Dicționar, Hashtable, Structuri de date
Un tip de date generic este un tip de date care permite utilizatorului să definească clase și metode cu substituenți. Compilatoare, cum ar fi C #, pot înlocui locașurile cu tipul specificat de date la momentul compilării. Se utilizează pentru a crea clase și metode cu scop general. La definirea unei clase generice, programatorul ar trebui să folosească paranteze unghiulare (<>). Aceste paranteze declară o clasă sau o metodă ca tip generic.
O hashtable este o structură de date care implementează un tip de date abstract de matrice asociativă, o structură care poate mapa cheia valorilor. Nu este un tip de date generic. Consultați o bucată de cod după cum urmează.
Figura 1: Program C # cu Hashtable
În programul de mai sus, numerele este un obiect tip Hashtable. Perechile cheie-valoare sunt adăugate la Hashtable. Din instrucțiunile 15 la 17, tastele sunt de tipul int și valorile sunt de tip string. În instrucțiunea 18, cheia și valoarea sunt șiruri de caractere. Un Hashtable este o structură dată de date săptămânal. Prin urmare, programatorul poate adăuga chei și valori de orice tip la Hashtable.
Figura 2: ieșire program HashTable
Rezultatul programului este cel de mai sus. Hashtable nu imprimă înregistrările în ordinea în care elementele au fost adăugate. Prin urmare, nu menține ordinea inserată.
Un dicționar utilizează conceptul de Hashtable. Este un tip de date generic. Consultați programul de mai jos. numele este un obiect tip dictionar. Are tipuri de date specifice pentru stocarea cheilor și valorilor. Conform acestui program, tipurile generice sunt definite ca
Figura 3: Programul C # cu dicționar
Toate elementele adăugate în dicționarul de mai sus au perechi cheie și valoare de tip String. Imprimarea cheii și a valorilor spre consolă va da o ieșire asemănătoare celei din figura 4. Recuperarea elementelor din dicționar va imprima înregistrările în aceeași ordine în care au fost adăugate elementele. Prin urmare, menține ordinea introdusă.
Figura 4: Rezultatul programului de dicționare
În ansamblu, Dicționarul este rapid în execuție, dar nu asigură siguranța firelor.
O hashtable este o structură de date care implementează un tip de date abstract de matrice asociativă, o structură care poate mapa cheia valorilor. Un Dicționar este o structură de date bazată pe Hashtable care stochează valori pe baza cheilor.
În plus, Hashtable este o structură de date slabă. Prin urmare, programatorul poate adăuga chei și valori ale oricărui tip de obiect la Hashtable. Un Dicționar este o structură de date puternic tastată. ( De asemenea, Hashtable nu este generic în timp ce Dicționarul este tip generic. În plus, există box și unboxing în Hashtable, dar nu în dicționar. Dicționarul consumă memorie minimă și execută mai repede decât Hashtable. Preluarea elementelor din tabela Hash nu menține ordinea inserată. Pe de altă parte, preluarea elementelor dintr-un dicționar menține ordinea inserată. În plus, Hashtable oferă mai multă siguranță pentru fire. Acesta acceptă mai multe fire de cititor și un singur fir de scriere. Dicționarul nu oferă siguranță pentru fire. Pentru a implementa siguranța firului, programatorul ar trebui să scrie propriul cod sincronizat. Hashtable ht = nou Hashtable (); Dicţionar Diferența dintre Hashtable și Dictionary este că Hashtable este o structură de date slab tastată, astfel încât este posibil să se adauge chei și valori de orice tip în timp ce Dicționarul este o structură de date puternic tipată, astfel încât este posibilă adăugarea elementelor care îndeplinesc cerințele specificate tipuri de date atât pentru cheie, cât și pentru valoare. 1. "C # Clasa Hashtable". Www.tutorialspoint.com, Tutorials Point, 21 iulie 2018, Disponibil aici.Tip
Viteză de execuție
Preluarea elementelor
Securitatea filetului
Exemplu de sintaxă
Concluzie
Referinţă:
2. "C # Hashtable." Tipuri de date în C #, Tutoriale Profesor. Disponibil aici.
3. "C # Dictionary - Javatpoint". Www.javatpoint.com, disponibil aici.