Mahalagang Pagkakaiba – Generic vs Non-Generic na Koleksyon sa C
Ang Generic na koleksyon ay isang klase na nagbibigay ng uri ng kaligtasan nang hindi kinakailangang kunin mula sa isang baseng uri ng koleksyon at ipatupad ang mga partikular na uri ng miyembro. Ang Non-generic na koleksyon ay isang espesyal na klase para sa pag-iimbak at pagkuha ng data na nagbibigay ng suporta para sa mga stack, queues, listahan at hashtable. Ang pangunahing pagkakaiba sa pagitan ng Generic at Non-generic na Koleksyon sa C ay ang isang Generic na Koleksyon ay malakas na na-type habang ang isang Non-Generic na Koleksyon ay hindi malakas na na-type.
Ano ang Generic Collection sa C?
Ang Hindi pangkaraniwang mga koleksyon gaya ng ArrayList, Queue, Stack, atbp.maaaring mag-imbak ng mga elemento ng iba't ibang uri ng data. Kapag kinukuha ang mga item, dapat i-type ng programmer ang cast ng mga ito sa tamang uri ng data. Kung hindi, maaari itong maging sanhi ng pagbubukod sa runtime. Maaaring gamitin ang mga generic na klase sa pagkolekta upang malampasan ang isyung ito. Ang mga generic na koleksyon ay nag-iimbak ng mga elemento sa loob ng mga array ng kanilang aktwal na mga uri. Samakatuwid, hindi kinakailangan ang uri ng paghahagis. Maaari silang magamit upang mag-imbak ng mga elemento ng tinukoy na uri o uri. Ang ilang mga generic na klase ng koleksyon ay List, Dictionary, SortedList, HashSet, Queue, Stack.
Ang GenericList ay naglalaman ng mga elemento ng tinukoy na uri. Maaari nitong taasan ang listahan nang naaayon kapag nagdaragdag ng mga elemento. Kapag mayroong isang pahayag tulad ng sumusunod, ang lahat ng mga elemento na maaaring maimbak sa listahan1 ay dapat na mga integer, Listahan1 – bagong Listahan ();
Ang Generic Dictionary sa C ay isang koleksyon ng mga key at value. Kapag mayroong isang pahayag tulad ng sumusunod, ang object dictionary1 ay maaaring mag-imbak ng mga int type na key at mga value ng uri ng string.
Diksyonaryo1=bagong Diksyunaryo ();
Ang koleksyon ng Generic SortedList ay nag-iimbak ng mga pares ng susi at halaga sa pataas na pagkakasunud-sunod ng key bilang default. Ang halimbawa sa ibaba ay nag-iimbak ng key ng int type at value ng string type.
SortedList s0=bagong SortedList ();
Iyan ang ilang mga halimbawa para sa Generic Collection sa C. Ang mga koleksyon na ito ay maaaring mag-imbak ng maraming halaga ng mga tinukoy na uri ng data. Kaya, malakas ang pagkaka-type nila.
Ano ang Non-Generic Collection sa C?
Ang mga array ay maaaring gamitin upang mag-imbak ng maraming elemento. Ang isang disbentaha ay maaari itong mag-imbak ng mga elemento ng parehong uri ng data. Mayroong mga klase sa C na maaaring magamit upang mag-imbak ng maraming mga halaga o mga bagay na kilala bilang mga koleksyon. Tumutulong ang mga koleksyon na mag-imbak, mag-update, magtanggal, maghanap, mag-uri-uri ng mga bagay. Ang laki ng koleksyon ay maaaring dynamic na dagdagan o bawasan.
Ang ilang mga klase sa Non-generic na Collection ay ArrayList, SortedList, Stack, Queue at HashTable. Ang bawat klase ng koleksyon ay nagpapatupad ng interface ng IEnumerable. Nakakatulong itong pag-ulit sa mga elemento ng mga item sa koleksyon gamit ang foreach loop.
Ang ArrayList ay isang alternatibo sa isang array. Kung mayroong isang array na maaaring mag-imbak ng 10 elemento, hindi ito makakapag-imbak ng 20 elemento. Kung ang array ay nagsimula sa 10 elemento ngunit nag-iimbak lamang ng 5 elemento, ang iba ay hindi ginagamit. Samakatuwid, ang isang array ay naayos. Sa isang ArrayList, posibleng magdagdag o mag-alis ng mga elemento depende sa index. Pinapayagan nito ang dynamic na paglalaan ng memorya. Maaaring gamitin ang paraan ng pag-uuri upang pagbukud-bukurin ang mga elemento sa pataas na pagkakasunud-sunod.
Ang HashTable ay ginagamit upang kumatawan sa isang koleksyon ng mga pares ng pangunahing halaga. Nakaayos ang mga ito batay sa hashCode ng susi. Samakatuwid, ang bawat elemento ay may mahalagang pares ng halaga. Maaaring gamitin ang susi upang ma-access ang isang partikular na elemento sa koleksyon. Kinakatawan ng Stack ang huling in, first out na access sa mga item. Ang Queue ay ginagamit para sa first in first out access ng mga item. Iyan ang ilan sa Mga Non-generic na Koleksyon na sinusuportahan ng C. Ang mga koleksyong ito ay maaaring mag-imbak ng mga elemento ng iba't ibang uri.
Ano ang Pagkakatulad sa pagitan ng Generic at Non-generic na Koleksyon sa C?
Parehong Generic at Non-Generic Collection ay maaaring gamitin para mag-imbak ng maraming elemento sa C
Ano ang Pagkakaiba sa pagitan ng Generic at Non-Generic na Koleksyon sa C?
Generic vs Non-Generic Collection sa C |
|
Ang isang generic na koleksyon ay isang klase na nagbibigay ng uri ng kaligtasan nang hindi kinakailangang kunin mula sa isang baseng uri ng koleksyon at magpatupad ng mga miyembrong partikular sa uri. | Ang Non-generic na koleksyon ay isang espesyal na klase para sa pag-iimbak at pagkuha ng data na nagbibigay ng suporta para sa mga stack, queue, listahan at hash table. |
Namespace | |
Ang mga klase ng Generic Collection ay nasa System. Mga koleksyon. Generics namespace. | Ang mga klase ng Non-generic na Collection ay nasa System. Namespace ng mga koleksyon. |
Uri | |
Mahigpit na na-type ang isang Generic Collection. | Hindi malakas na na-type ang isang Non-Generic na Koleksyon. |
Mga Elemento ng Pag-iimbak | |
Ang Generic Collections ay nag-iimbak ng mga elemento sa loob ng mga array ng kanilang aktwal na uri. | Ang Non-generic na mga koleksyon ay nag-iimbak ng mga elemento sa loob ng mga object array para makapag-imbak ito ng anumang uri ng data. |
Buod – Generic vs Non-Generic Collection sa C
Tinalakay ng artikulong ito ang pagkakaiba sa pagitan ng Generic at Non-generic na Collection sa C. Ang pagkakaiba sa pagitan ng Generic at Non-generic na Collection ay ang isang Generic na Collection ay malakas na tina-type habang ang isang Non-generic na Collection ay hindi malakas na na-type.