Forskellen mellem generisk og ikke-generisk samling i C

Indholdsfortegnelse:

Forskellen mellem generisk og ikke-generisk samling i C
Forskellen mellem generisk og ikke-generisk samling i C

Video: Forskellen mellem generisk og ikke-generisk samling i C

Video: Forskellen mellem generisk og ikke-generisk samling i C
Video: Лукашенко — отрезанный ломоть! Запад наконец-то понял с кем имеет дело: Ему плевать на людей 2024, November
Anonim

Nøgleforskel – generisk vs ikke-generisk samling i C

En generisk samling er en klasse, der giver typesikkerhed uden at skulle stamme fra en basisindsamlingstype og implementere typespecifikke medlemmer. En ikke-generisk samling er en specialiseret klasse til datalagring og -hentning, der understøtter stakke, køer, lister og hashtabeller. Den vigtigste forskel mellem generisk og ikke-generisk samling i C er, at en generisk samling er stærkt indtastet, mens en ikke-generisk samling ikke er stærkt skrevet.

Hvad er generisk samling i C?

De ikke-generiske samlinger såsom ArrayList, Queue, Stack osv.kan gemme elementer af forskellige datatyper. Når programmøren henter emnerne, skal programmøren skrive cast dem til den korrekte datatype. Ellers kan det forårsage en runtime-undtagelse. De generiske indsamlingsklasser kan bruges til at løse dette problem. Generiske samlinger gemmer elementer internt i arrays af deres faktiske typer. Derfor er typestøbning ikke påkrævet. De kan bruges til at gemme elementer af den eller de specificerede typer. Nogle generiske samlingsklasser er List, Dictionary, SortedList, HashSet, Queue, Stack.

Forskellen mellem generisk og ikke-generisk samling i C
Forskellen mellem generisk og ikke-generisk samling i C

Den generiske liste indeholder elementer af specificeret type. Det kan øge listen tilsvarende, når du tilføjer elementer. Når der er et udsagn som følger, skal alle de elementer, der kan gemmes i liste1 være heltal, Listeliste1 – ny liste ();

Den generiske ordbog i C er en samling nøgler og værdier. Når der er en sætning som følger, kan objektordbogen1 gemme int-typenøgler og strengtypeværdier.

Ordbogsordbog1=ny ordbog ();

En generisk SortedList-samling gemmer nøgle- og værdipar i stigende rækkefølge efter nøgle som standard. Nedenstående eksempel gemmer nøgle af int-type og værdi af strengtype.

SortedList s0=ny SortedList ();

Det er få eksempler på generisk samling i C. Disse samlinger kan gemme flere værdier af de angivne datatyper. Så de er stærkt skrevet.

Hvad er ikke-generisk samling i C?

Arrays kan bruges til at gemme flere elementer. En ulempe er, at den kan gemme elementer af samme datatype. Der er klasser i C, der kan bruges til at gemme mange værdier eller objekter kendt som samlinger. Samlinger hjælper med at gemme, opdatere, slette, søge, sortere objekter. Størrelsen på samlingen kan øges eller formindskes dynamisk.

Nogle ikke-generiske samlingsklasser er ArrayList, SortedList, Stack, Queue og HashTable. Hver samlingsklasse implementerer IEnumerable-grænsefladen. Det hjælper at iterere gennem elementerne i genstandene i samlingen ved hjælp af foreach loop.

ArrayList er et alternativ til et array. Hvis der er et array, der kan gemme 10 elementer, kan det ikke gemme 20 elementer. Hvis arrayet er initialiseret til 10 elementer, men kun gemmer 5 elementer, er resten ikke brugt. Derfor er et array fast. I en ArrayList er det muligt at tilføje eller fjerne elementer afhængigt af indekset. Det giver mulighed for dynamisk hukommelsesallokering. Sorteringsmetoden kan bruges til at sortere elementerne i stigende rækkefølge.

Hashtabellen bruges til at repræsentere en samling af nøgleværdipar. De er organiseret baseret på nøglens hashCode. Derfor har hvert element et nøgleværdipar. Nøglen kan bruges til at få adgang til et bestemt element i samlingen. Stakken repræsenterer den sidste ind, først ud adgang til elementer. Køen bruges til først ind først ud adgang til elementer. Det er nogle af de ikke-generiske samlinger, der understøttes af C. Disse samlinger kan gemme elementer af forskellige typer.

Hvad er ligheden mellem generisk og ikke-generisk samling i C?

Både generisk og ikke-generisk samling kan bruges til at gemme flere elementer i C

Hvad er forskellen mellem generisk og ikke-generisk samling i C?

Generisk vs ikke-generisk samling i C

En generisk samling er en klasse, der giver typesikkerhed uden at skulle stamme fra en basisindsamlingstype og implementere typespecifikke medlemmer. En ikke-generisk samling er en specialiseret klasse til datalagring og -hentning, der understøtter stakke, køer, lister og hashtabeller.
Navneområde
De generiske samlingsklasser er i systemet. Samlinger. Generisk navneområde. De ikke-generiske samlingsklasser er i systemet. Samlingers navneområde.
Type
En generisk samling er stærkt skrevet. En ikke-generisk samling er ikke stærkt skrevet.
Lagringselementer
The Generic Collections gemmer elementer internt i arrays af deres faktiske typer. De ikke-generiske samlinger gemmer elementer internt i objektarrays, så de kan gemme enhver type data.

Opsummering – Generisk vs ikke-generisk samling i C

Denne artikel diskuterede forskellen mellem generisk og ikke-generisk samling i C. Forskellen mellem generisk og ikke-generisk samling er, at en generisk samling er stærkt indtastet, mens en ikke-generisk samling ikke er stærkt skrevet.

Anbefalede: