Rozdiel medzi generickou a negenerickou kolekciou v C

Obsah:

Rozdiel medzi generickou a negenerickou kolekciou v C
Rozdiel medzi generickou a negenerickou kolekciou v C

Video: Rozdiel medzi generickou a negenerickou kolekciou v C

Video: Rozdiel medzi generickou a negenerickou kolekciou v C
Video: Ako sa stať vysokoškolákom?: Aký je rozdiel medzi stredoškolskou a vysokoškolskou matematikou? 2024, November
Anonim

Kľúčový rozdiel – generická a negenerická kolekcia v jazyku C

Generická kolekcia je trieda, ktorá poskytuje typovú bezpečnosť bez toho, aby bolo potrebné odvodzovať sa od základného typu kolekcie a implementovať typovo špecifické členy. Negenerická kolekcia je špecializovaná trieda na ukladanie a získavanie údajov, ktorá poskytuje podporu pre zásobníky, fronty, zoznamy a hašovacie tabuľky. Kľúčový rozdiel medzi generickou a negenerickou kolekciou v jazyku C je v tom, že generická kolekcia je silne zadaná, zatiaľ čo negenerická kolekcia nie je silne zadaná.

Čo je všeobecná zbierka v C?

Negenerické zbierky, ako sú ArrayList, Queue, Stack atď.môže ukladať prvky rôznych typov údajov. Pri získavaní položiek by ich mal programátor pretypovať na správny dátový typ. V opačnom prípade to môže spôsobiť výnimku za behu. Na prekonanie tohto problému možno použiť generické triedy kolekcií. Generické kolekcie ukladajú prvky interne do polí ich skutočných typov. Preto sa nevyžaduje typové odlievanie. Môžu sa použiť na ukladanie prvkov zadaného typu alebo typov. Niektoré všeobecné triedy kolekcie sú List, Dictionary, SortedList, HashSet, Queue, Stack.

Rozdiel medzi generickou a negenerickou kolekciou v C
Rozdiel medzi generickou a negenerickou kolekciou v C

Všeobecný zoznam obsahuje prvky určeného typu. Pri pridávaní prvkov môže zodpovedajúcim spôsobom zväčšiť zoznam. Ak existuje nasledujúce vyhlásenie, všetky prvky, ktoré možno uložiť do zoznamu1, by mali byť celé čísla, Zoznam zoznamu1 – nový zoznam ();

Všeobecný slovník v C je zbierka kľúčov a hodnôt. Ak existuje nasledujúce vyhlásenie, slovník objektov1 môže ukladať kľúče typu int a hodnoty typu reťazca.

Slovníkový slovník1=nový slovník ();

Všeobecná kolekcia SortedList štandardne ukladá páry kľúčov a hodnôt vo vzostupnom poradí kľúča. Nižšie uvedený príklad ukladá kľúč typu int a hodnotu typu reťazca.

SortedList s0=nový SortedList ();

Toto je niekoľko príkladov pre Generic Collection v C. Tieto kolekcie môžu uchovávať viaceré hodnoty zadaných typov údajov. Takže sú silne napísané.

Čo je negenerická zbierka v jazyku C?

Polia možno použiť na uloženie viacerých prvkov. Jednou nevýhodou je, že môže ukladať prvky rovnakého typu údajov. V C existujú triedy, ktoré možno použiť na uloženie mnohých hodnôt alebo objektov známych ako kolekcie. Kolekcie pomáhajú ukladať, aktualizovať, mazať, vyhľadávať a triediť objekty. Veľkosť zbierky je možné dynamicky zväčšiť alebo zmenšiť.

Niektoré negenerické triedy kolekcie sú ArrayList, SortedList, Stack, Queue a HashTable. Každá trieda kolekcie implementuje rozhranie IEnumerable. Pomáha to iterovať cez prvky položiek v kolekcii pomocou slučky foreach.

ArrayList je alternatívou poľa. Ak existuje pole, ktoré môže uložiť 10 prvkov, nemôže uložiť 20 prvkov. Ak je pole inicializované na 10 prvkov, ale obsahuje iba 5 prvkov, zvyšok sa nepoužíva. Preto je pole pevné. V ArrayList je možné pridať alebo odstrániť prvky v závislosti od indexu. Umožňuje dynamickú alokáciu pamäte. Metódu triedenia možno použiť na triedenie prvkov vo vzostupnom poradí.

HashTabuľka sa používa na reprezentáciu kolekcie párov kľúč-hodnota. Sú usporiadané na základe hashCode kľúča. Preto má každý prvok pár kľúč-hodnota. Kľúč možno použiť na prístup ku konkrétnemu prvku v kolekcii. Zásobník predstavuje posledný dnu, prvý von prístup k položkám. Front sa používa na prístup k položkám prvý dovnútra, prvý von. Toto sú niektoré z negenerických kolekcií podporovaných jazykom C. Tieto kolekcie môžu ukladať prvky rôznych typov.

Aká je podobnosť medzi generickou a negenerickou kolekciou v C?

Na ukladanie viacerých prvkov v C je možné použiť generickú aj negenerickú kolekciu

Aký je rozdiel medzi generickou a negenerickou kolekciou v C?

Všeobecná vs. nevšeobecná zbierka v jazyku C

Všeobecná kolekcia je trieda, ktorá poskytuje typovú bezpečnosť bez toho, aby ste museli odvodzovať od základného typu kolekcie a implementovať typovo špecifické členy. Negenerická kolekcia je špecializovaná trieda na ukladanie a získavanie údajov, ktorá poskytuje podporu pre zásobníky, fronty, zoznamy a hašovacie tabuľky.
Menný priestor
Triedy Generic Collection sú v systéme. zbierky. Generický menný priestor. Negenerické triedy kolekcie sú v systéme. Priestor názvov kolekcií.
Typ
Všeobecná zbierka je silne zadaná. Nevšeobecná zbierka nie je silne napísaná.
Ukladanie prvkov
Všeobecné kolekcie interne ukladajú prvky do polí ich skutočných typov. Negenerické kolekcie ukladajú prvky interne do polí objektov, takže môžu ukladať akýkoľvek typ údajov.

Súhrn – Všeobecná vs. negenerická kolekcia v jazyku C

Tento článok diskutoval o rozdieloch medzi generickou a negenerickou kolekciou v C. Rozdiel medzi generickou a negenerickou zbierkou je ten, že generická zbierka je silne zadaná, zatiaľ čo negenerická zbierka nie je silne zadaná.

Odporúča: