Ključna razlika – generička naspram negeneričke zbirke u C
Generička zbirka je klasa koja pruža sigurnost tipa bez potrebe za izvođenjem iz osnovnog tipa zbirke i implementacijom članova specifičnih za tip. Negenerička zbirka specijalizirana je klasa za pohranu i dohvaćanje podataka koja pruža podršku za hrpe, redove, popise i tablice raspršivanja. Ključna razlika između generičke i negeneričke zbirke u C je ta što je generička zbirka strogo tipizirana dok negenerička zbirka nije strogo tipizirana.
Što je generička zbirka u C?
Negeneričke zbirke kao što su ArrayList, Queue, Stack, itd.može pohraniti elemente različitih tipova podataka. Prilikom dobivanja stavki, programer bi ih trebao upisati na ispravan tip podataka. Inače, može uzrokovati iznimku vremena izvođenja. Klase generičke zbirke mogu se koristiti za prevladavanje ovog problema. Generičke zbirke interno pohranjuju elemente u nizovima njihovih stvarnih tipova. Stoga lijevanje tipa nije potrebno. Mogu se koristiti za pohranjivanje elemenata određenog tipa ili tipova. Neke generičke klase zbirke su List, Dictionary, SortedList, HashSet, Queue, Stack.
GenericList sadrži elemente navedene vrste. Može povećati popis u skladu s tim prilikom dodavanja elemenata. Kada postoji izjava kao što slijedi, svi elementi koji se mogu pohraniti na popis1 trebaju biti cijeli brojevi, List list1 – novi popis ();
Generički rječnik u C je zbirka ključeva i vrijednosti. Kada postoji izjava kao što slijedi, rječnik objekta1 može pohraniti ključeve tipa int i vrijednosti tipa niza.
Rječnik rječnik1=novi rječnik ();
Generic SortedList zbirka pohranjuje parove ključeva i vrijednosti prema zadanim uzlaznim redoslijedom ključa. Donji primjer pohranjuje ključ tipa int i vrijednost tipa niza.
SortedList s0=novi SortedList ();
Ovo je nekoliko primjera za generičku zbirku u C. Ove zbirke mogu pohraniti više vrijednosti navedenih tipova podataka. Dakle, strogo su tipizirani.
Što je negenerička zbirka u C?
Nizovi se mogu koristiti za pohranjivanje više elemenata. Jedan nedostatak je što može pohraniti elemente iste vrste podataka. Postoje klase u C koje se mogu koristiti za pohranu mnogih vrijednosti ili objekata poznatih kao kolekcije. Zbirke pomažu u pohranjivanju, ažuriranju, brisanju, pretraživanju, sortiranju objekata. Veličina zbirke može se dinamički povećavati ili smanjivati.
Neke negeneričke klase zbirke su ArrayList, SortedList, Stack, Queue i HashTable. Svaka klasa zbirke implementira IEnumerable sučelje. Pomaže u iteraciji kroz elemente stavki u zbirci pomoću foreach petlje.
ArrayList je alternativa nizu. Ako postoji niz koji može pohraniti 10 elemenata, ne može pohraniti 20 elemenata. Ako je niz inicijaliziran na 10 elemenata, ali pohranjuje samo 5 elemenata, tada se ostatak ne koristi. Stoga je niz fiksan. U ArrayList je moguće dodati ili ukloniti elemente ovisno o indeksu. Omogućuje dinamičku dodjelu memorije. Metoda sortiranja može se koristiti za sortiranje elemenata uzlaznim redoslijedom.
HashTable se koristi za predstavljanje zbirke parova ključeva i vrijednosti. Organizirani su na temelju hashCode ključa. Stoga svaki element ima par ključeva vrijednosti. Ključ se može koristiti za pristup određenom elementu u kolekciji. Stog predstavlja zadnji ušao, prvi izašao pristup stavkama. Red čekanja koristi se za prvi pristup stavkama. Ovo su neke od negeneričkih kolekcija koje podržava C. Ove zbirke mogu pohraniti elemente različitih vrsta.
Koja je sličnost između generičke i negeneričke zbirke u C?
I generička i negenerička zbirka mogu se koristiti za pohranjivanje više elemenata u C
Koja je razlika između generičke i negeneričke zbirke u C?
Generička naspram negeneričke zbirke u C |
|
Generička zbirka je klasa koja pruža sigurnost tipa bez potrebe za izvođenjem iz osnovnog tipa zbirke i implementacijom članova specifičnih za tip. | Negenerička zbirka je specijalizirana klasa za pohranu i dohvaćanje podataka koja pruža podršku za hrpe, redove, popise i hash tablice. |
Imenski prostor | |
Klase Generičke zbirke nalaze se u Sustavu. Zbirke. Generički imenski prostor. | Negeneričke klase zbirke nalaze se u sustavu. Imenski prostor zbirki. |
Tip | |
Generička zbirka je strogo tipizirana. | Zbirka koja nije generička nije strogo tipizirana. |
Pohranjivanje elemenata | |
Generičke zbirke interno pohranjuju elemente u nizovima njihovih stvarnih tipova. | Negeneričke zbirke interno pohranjuju elemente u objektnim nizovima tako da mogu pohraniti bilo koju vrstu podataka. |
Sažetak – Generička naspram negeneričke zbirke u C
Ovaj članak raspravlja o razlici između generičke i negeneričke zbirke u C. Razlika između generičke i negeneričke zbirke je u tome što je generička zbirka strogo tipizirana dok negenerička zbirka nije strogo tipizirana.