Pagkakaiba sa Pagitan ng Hashtable at Diksiyonaryo

Talaan ng mga Nilalaman:

Anonim

Ang pangunahing pagkakaiba sa pagitan ng Hashtable at Diksiyonaryo ay ang Ang Hashtable ay isang mahinang nai-type na istraktura ng data kaya posible na magdagdag ng mga susi at halaga ng anumang uri habang ang Diksyonaryo ay isang malakas na nai-type na istraktura ng data kaya posible lamang na idagdag ang mga elemento na nasiyahan ang tinukoy na mga uri ng data para sa parehong susi at halaga.

Ang Hashtable at diksyunaryo ay dalawang pangunahing istruktura ng data. Pareho silang maaaring maghawak ng data bilang mga pares ng pangunahing halaga. Ang isang Hashtable o isang Diksiyonaryo ay maaari lamang maglaman ng mga natatanging key. Ang programmer ay maaaring makahanap o mag-alis ng isang tukoy na halaga gamit ang key. Ang Hashtable ay hindi malakas na nai-type. Samakatuwid, ang programmer ay maaaring magdagdag ng anumang elemento ng pares ng key-halaga sa Hashtable. Sa kabilang banda, ang Diksiyonaryo ay malakas na nai-type. Dapat tukuyin ng programmer ang mga uri ng data ng mga susi at halaga. Hindi posible na magdagdag ng mga elemento na hindi nasiyahan ang mga ibinigay na uri ng data. Halimbawa, kung ang Genericio ay mayroong pangkalahatang uri, ang programmer ay maaari lamang magdagdag ng mga elemento na may mga int type na key at mga halaga ng uri ng string.

Diksyonaryo, Hashtable, Mga Istraktura ng Data

Ano ang Uri ng Generic na Data

Ang isang pangkalahatang uri ng data ay isang uri ng data na nagbibigay-daan sa gumagamit na tukuyin ang mga klase at pamamaraan sa mga placeholder. Ang mga tagatala tulad ng C # ay maaaring palitan ang mga placeholder ng tinukoy na uri ng data sa oras ng pag-ipon. Ginagamit ito upang lumikha ng mga klase at pamamaraan ng pangkalahatang layunin. Kapag tinutukoy ang isang generic na klase, dapat gamitin ng programmer ang mga anggulo na bracket (). Ang mga braket na ito ay nagdeklara ng isang klase o pamamaraan bilang pangkaraniwang uri.

Ano ang Hashtable

Ang Hashtable ay isang istraktura ng data na nagpapatupad ng isang nauugnay na uri ng abstract na uri ng data, isang istraktura na maaaring map key sa mga halaga. Hindi ito isang generic na uri ng data. Sumangguni sa isang piraso ng code tulad ng sumusunod.

Larawan 1: C # na programa na may Hashtable

Sa program sa itaas, ang mga numero ay isang bagay ng uri ng Hashtable. Ang mga pares ng key-halaga ay idinagdag sa Hashtable. Mula sa pahayag 15 hanggang 17, ang mga susi ay uri ng int at ang mga halaga ay uri ng string. Sa pahayag 18, ang susi at halaga ay mga string. Ang Hashtable ay isang lingguhang naka-type na istraktura ng data. Samakatuwid, ang programmer ay maaaring magdagdag ng mga susi at halaga ng anumang uri sa Hashtable.

Larawan 2: Output ng HashTable Program

Ang output ng programa ay tulad ng nasa itaas. Ang Hashtable ay hindi nai-print ang mga tala ayon sa pagkakasunud-sunod kung saan ang mga elemento kung saan idinagdag. Samakatuwid, hindi nito pinapanatili ang nakapasok na order.

Ano ang Diksyonaryo

Gumagamit ang isang diksyonaryo ng konsepto ng Hashtable. Ito ay isang pangkalahatang uri ng data. Sumangguni sa programa sa ibaba. ang mga pangalan ay isang uri ng uri ng Diksyonaryo. Mayroon itong mga tukoy na uri ng data upang maiimbak para sa mga susi at halaga. Ayon sa program na ito, ang mga generic na uri ay tinukoy bilang. Samakatuwid, kapag nagdaragdag ng mga elemento sa diksyunaryo, ang parehong mga key at halaga ay dapat na uri ng string.

Larawan 3: C # na programa na may Diksyonaryo

Ang lahat ng mga elemento na idinagdag sa diksyunaryo sa itaas ay mayroong key at mga pares ng halaga ng uri na String. Ang pag-print ng susi at mga halaga sa console ay magbibigay ng isang output na katulad sa pigura 4. Ang pagkuha ng mga item mula sa Diksyonaryo ay mai-print ang mga talaan sa parehong pagkakasunud-sunod ng mga elemento ay naidagdag. Samakatuwid, pinapanatili nito ang nakapasok na pagkakasunud-sunod.

Larawan 4: Output ng Program sa Diksyonaryo

Sa pangkalahatan, ang Diksyonaryo ay mabilis sa pagpapatupad ngunit hindi ito nagbibigay ng kaligtasan ng thread.

Pagkakaiba sa Pagitan ng Hashtable at Diksiyonaryo

Kahulugan

Ang Hashtable ay isang istraktura ng data na nagpapatupad ng isang nauugnay na uri ng abstract na uri ng data, isang istraktura na maaaring map key sa mga halaga. Ang Diksyonaryo ay isang istraktura ng data batay sa Hashtable na nag-iimbak ng mga halaga batay sa mga susi.

Pagdaragdag ng Mga Elemento

Bukod dito, ang Hashtable ay isang mahina na nai-type na istraktura ng data. Samakatuwid, ang programmer ay maaaring magdagdag ng mga susi at halaga ng anumang uri ng object sa Hashtable. Ang isang Diksiyonaryo ay malakas na nai-type ang istraktura ng data. (

Uri

Gayundin, ang Hashtable ay hindi pangkaraniwan habang ang Diksyonaryo ay generic na uri.

Bilis ng Pagpapatupad

Bilang karagdagan, mayroong boxing at unboxing sa Hashtable ngunit wala sa Diksyonaryo. Gumagamit ang Diksyonaryo ng minimum na memorya at gumaganap nang mas mabilis kaysa sa Hashtable.

Kinukuha ang Mga Elemento

Ang pagkuha ng mga elemento sa Hashtable ay hindi nagpapanatili ng nakapasok na pagkakasunud-sunod. Sa kabilang banda, ang pagkuha ng mga elemento mula sa isang Diksyonaryo ay nagpapanatili ng nakapasok na pagkakasunud-sunod.

Kaligtasan ng Thread

Halimbawa ng Syntax

Hashtable ht = bagong Hashtable ();

Diksyonaryo ng diksyonaryo = bagong Diksyonaryo ();.

Konklusyon

Ang pagkakaiba sa pagitan ng Hashtable at Diksiyonaryo ay ang Hashtable ay isang mahinang na-type na istraktura ng data kaya posible na magdagdag ng mga susi at halaga ng anumang uri habang ang Diksyonaryo ay isang malakas na nai-type na istraktura ng data kaya posible lamang na idagdag ang mga elemento na nasiyahan ang tinukoy mga uri ng data para sa parehong susi at halaga.

Sanggunian:

1. "C # Hashtable Class." Www.tutorialspoint.com, Tutorials Point, 21 Hulyo 2018, Magagamit dito.2. "C # Hashtable." Mga Uri ng Data sa C #, Guro sa Mga Tutorial. Magagamit dito.3. "C # Diksiyonaryo - Javatpoint." Www.javatpoint.com, Magagamit dito.

Pagkakaiba sa Pagitan ng Hashtable at Diksiyonaryo