Ključna razlika – generična proti negenerični zbirki v C
Genericna zbirka je razred, ki zagotavlja varnost tipa, ne da bi mu bilo treba izpeljati iz osnovnega tipa zbirke in izvajati člane, specifične za tip. Negenerična zbirka je specializiran razred za shranjevanje in iskanje podatkov, ki zagotavlja podporo za sklade, čakalne vrste, sezname in zgoščene tabele. Ključna razlika med generično in negenerično zbirko v C je, da je generična zbirka strogo tipizirana, medtem ko negenerična zbirka ni strogo tipizirana.
Kaj je generična zbirka v C?
Negenerične zbirke, kot so ArrayList, Queue, Stack itd.lahko shrani elemente različnih tipov podatkov. Pri pridobivanju elementov jih mora programer vtipkati v pravilen podatkovni tip. V nasprotnem primeru lahko povzroči izjemo med izvajanjem. Za odpravo te težave je mogoče uporabiti generične razrede zbirk. Generične zbirke interno shranjujejo elemente v nizih njihovih dejanskih vrst. Zato ulivanje tipa ni potrebno. Uporabljajo se lahko za shranjevanje elementov določene vrste ali vrst. Nekateri generični razredi zbirk so List, Dictionary, SortedList, HashSet, Queue, Stack.
GenericList vsebuje elemente določene vrste. Pri dodajanju elementov lahko seznam ustrezno poveča. Če obstaja stavek, kot sledi, morajo biti vsi elementi, ki jih je mogoče shraniti na seznam1, cela števila, Seznam list1 – nov seznam ();
Generični slovar v C je zbirka ključev in vrednosti. Če obstaja naslednji stavek, lahko objektni slovar1 shrani ključe tipa int in vrednosti tipa niza.
Slovar slovar1=nov slovar ();
Zbirka Generic SortedList privzeto shranjuje pare ključev in vrednosti v naraščajočem vrstnem redu ključa. Spodnji primer shrani ključ vrste int in vrednost vrste niz.
SortedList s0=nov razvrščeni seznam ();
To je nekaj primerov za Generic Collection v C. Te zbirke lahko shranijo več vrednosti navedenih tipov podatkov. Torej so močno tipizirani.
Kaj je negenerična zbirka v C?
Matrike lahko uporabite za shranjevanje več elementov. Ena pomanjkljivost je, da lahko shranjuje elemente iste vrste podatkov. V C obstajajo razredi, ki jih je mogoče uporabiti za shranjevanje številnih vrednosti ali predmetov, znanih kot zbirke. Zbirke pomagajo pri shranjevanju, posodabljanju, brisanju, iskanju in razvrščanju predmetov. Velikost zbirke je mogoče dinamično povečati ali zmanjšati.
Nekateri razredi negenerične zbirke so ArrayList, SortedList, Stack, Queue in HashTable. Vsak razred zbirke izvaja vmesnik IEnumerable. Pomaga pri ponavljanju elementov elementov v zbirki z uporabo zanke foreach.
ArrayList je alternativa matriki. Če obstaja polje, ki lahko shrani 10 elementov, ne more shraniti 20 elementov. Če je matrika inicializirana na 10 elementov, vendar shrani samo 5 elementov, se preostali del ne uporablja. Zato je niz fiksen. V ArrayList je mogoče dodajati ali odstranjevati elemente, odvisno od indeksa. Omogoča dinamično dodeljevanje pomnilnika. Metodo razvrščanja lahko uporabite za razvrščanje elementov v naraščajočem vrstnem redu.
Tabela HashTable se uporablja za predstavitev zbirke parov ključev vrednosti. Organizirani so na podlagi hashCode ključa. Zato ima vsak element par ključev vrednosti. Ključ lahko uporabite za dostop do določenega elementa v zbirki. Sklad predstavlja zadnji vstop, prvi ven dostop do predmetov. Čakalna vrsta se uporablja za prvi dostop do elementov. To je nekaj negeneričnih zbirk, ki jih podpira C. Te zbirke lahko hranijo elemente različnih vrst.
Kakšna je podobnost med generično in negenerično zbirko v C?
Tako generično kot negenerično zbirko lahko uporabite za shranjevanje več elementov v C
Kakšna je razlika med generično in negenerično zbirko v C?
Generična proti negenerični zbirki v C |
|
Generična zbirka je razred, ki zagotavlja varnost tipa, ne da bi mu bilo treba izpeljati iz osnovnega tipa zbirke in izvajati člane, specifične za tip. | Negenerična zbirka je specializiran razred za shranjevanje in iskanje podatkov, ki nudi podporo za sklade, čakalne vrste, sezname in zgoščene tabele. |
Imenski prostor | |
Razredi generične zbirke so v sistemu. Zbirke. Generični imenski prostor. | Razredi negenerične zbirke so v sistemu. Imenski prostor zbirk. |
Type | |
Generična zbirka je strogo tipizirana. | Negenerična zbirka ni strogo tipizirana. |
Shranjevanje elementov | |
Generične zbirke interno shranjujejo elemente v nizih njihovih dejanskih tipov. | Negenerične zbirke interno shranjujejo elemente v nizih objektov, tako da lahko shranijo katero koli vrsto podatkov. |
Povzetek – Generična proti negenerični zbirki v C
Ta članek je obravnaval razliko med generično in negenerično zbirko v C. Razlika med generično in negenerično zbirko je v tem, da je generična zbirka strogo tipizirana, medtem ko negenerična zbirka ni strogo tipizirana.