Verskil tussen generiese en nie-generiese versameling in C

INHOUDSOPGAWE:

Verskil tussen generiese en nie-generiese versameling in C
Verskil tussen generiese en nie-generiese versameling in C

Video: Verskil tussen generiese en nie-generiese versameling in C

Video: Verskil tussen generiese en nie-generiese versameling in C
Video: BTT - Manta E3EZ - CB1 with EMMc install 2024, Junie
Anonim

Sleutelverskil – Generiese vs nie-generiese versameling in C

'n Generiese versameling is 'n klas wat tipe veiligheid bied sonder om van 'n basis versameling tipe af te lei en tipe-spesifieke lede te implementeer. 'n Nie-generiese versameling is 'n gespesialiseerde klas vir databerging en herwinning wat ondersteuning bied vir stapels, rye, lyste en hashtabelle. Die belangrikste verskil tussen generiese en nie-generiese versameling in C is dat 'n generiese versameling sterk getik is terwyl 'n nie-generiese versameling nie sterk getik is nie.

Wat is generiese versameling in C?

Die nie-generiese versamelings soos ArrayList, Queue, Stack, ens.kan elemente van verskillende datatipes stoor. Wanneer die items verkry word, moet die programmeerder dit na die korrekte datatipe gooi. Anders kan dit 'n runtime-uitsondering veroorsaak. Die generiese versamelingsklasse kan gebruik word om hierdie probleem te oorkom. Generiese versamelings stoor elemente intern in skikkings van hul werklike tipes. Daarom is tipe gietwerk nie nodig nie. Hulle kan gebruik word om elemente van die gespesifiseerde tipe of tipes te stoor. Sommige generiese versamelingsklasse is List, Dictionary, SortedList, HashSet, Queue, Stack.

Verskil tussen generiese en nie-generiese versameling in C
Verskil tussen generiese en nie-generiese versameling in C

Die Generiese Lys bevat elemente van gespesifiseerde tipe. Dit kan die lys dienooreenkomstig vergroot wanneer elemente bygevoeg word. Wanneer daar 'n stelling soos volg is, moet al die elemente wat in die lys1 gestoor kan word heelgetalle wees, Lys lys1 – nuwe Lys ();

The Generic Dictionary in C is 'n versameling sleutels en waardes. Wanneer daar 'n stelling soos volg is, kan die objekwoordeboek1 int tipe sleutels en string tipe waardes stoor.

Woordeboekwoordeboek1=nuwe Woordeboek ();

'n Generiese SortedList-versameling stoor sleutel- en waardepare by verstek in stygende volgorde van sleutel. Voorbeeld hieronder stoor sleutel van int-tipe en waarde van stringtipe.

SortedList s0=nuwe SortedList ();

Dit is 'n paar voorbeelde vir generiese versameling in C. Hierdie versamelings kan verskeie waardes van die gespesifiseerde datatipes stoor. So, hulle is sterk getik.

Wat is nie-generiese versameling in C?

Skikkings kan gebruik word om veelvuldige elemente te stoor. Een nadeel is dat dit elemente van dieselfde datatipe kan stoor. Daar is klasse in C wat gebruik kan word om baie waardes of voorwerpe bekend as versamelings te stoor. Versamelings help om voorwerpe te stoor, op te dateer, uit te vee, te soek, te sorteer. Die grootte van die versameling kan dinamies vergroot of verklein word.

Sommige nie-generiese versamelingsklasse is ArrayList, SortedList, Stack, Queue en HashTable. Elke versamelingklas implementeer die IEnumerable-koppelvlak. Dit help om deur die elemente van die items in die versameling te herhaal deur die foreach lus te gebruik.

ArrayList is 'n alternatief vir 'n skikking. As daar 'n skikking is wat 10 elemente kan stoor, kan dit nie 20 elemente stoor nie. As die skikking geïnisialiseer is na 10 elemente maar net 5 elemente stoor, dan word die res nie gebruik nie. Daarom is 'n skikking vas. In 'n ArrayList is dit moontlik om elemente by te voeg of te verwyder, afhangende van die indeks. Dit laat dinamiese geheue toewysing toe. Die sorteermetode kan gebruik word om die elemente in stygende volgorde te sorteer.

Die HashTable word gebruik om 'n versameling sleutelwaardepare voor te stel. Hulle is georganiseer op grond van die hashCode van die sleutel. Daarom het elke element 'n sleutelwaardepaar. Die sleutel kan gebruik word om toegang tot 'n spesifieke element in die versameling te verkry. Die stapel verteenwoordig die laaste in, eerste uit toegang tot items. Die tou word gebruik vir eerste in eerste uit toegang van items. Dit is 'n paar van die nie-generiese versamelings wat deur C ondersteun word. Hierdie versamelings kan elemente van verskillende tipes stoor.

Wat is die ooreenkoms tussen generiese en nie-generiese versameling in C?

Beide generiese en nie-generiese versameling kan gebruik word om veelvuldige elemente in C te stoor

Wat is die verskil tussen generiese en nie-generiese versameling in C?

Generiese vs nie-generiese versameling in C

'n Generiese versameling is 'n klas wat tipe veiligheid verskaf sonder om van 'n basis versameling tipe af te lei en tipe-spesifieke lede te implementeer. 'n Nie-generiese versameling is 'n gespesialiseerde klas vir databerging en herwinning wat ondersteuning bied vir stapels, rye, lyste en hash-tabelle.
Naamspasie
Die generiese versamelingsklasse is in die stelsel. Versamelings. Generiese naamruimte. Die nie-generiese versamelingsklasse is in die stelsel. Versamelings naamruimte.
tipe
'n Generiese versameling is sterk getik. 'n Nie-generiese versameling is nie sterk getik nie.
bergelemente
Die Generiese Versamelings stoor elemente intern in skikkings van hul werklike tipes. Die nie-generiese versamelings stoor elemente intern in voorwerpskikkings sodat dit enige tipe data kan stoor.

Opsomming – Generiese vs nie-generiese versameling in C

Hierdie artikel het die verskil tussen generiese en nie-generiese versameling in C bespreek. Die verskil tussen generiese en nie-generiese versameling is dat 'n generiese versameling sterk getik is terwyl 'n nie-generiese versameling nie sterk getik is nie.

Aanbeveel: