Diferența dintre colecția generică și negeneric în C

Cuprins:

Diferența dintre colecția generică și negeneric în C
Diferența dintre colecția generică și negeneric în C

Video: Diferența dintre colecția generică și negeneric în C

Video: Diferența dintre colecția generică și negeneric în C
Video: Generic and Non Generic Collections in NET 2024, Iunie
Anonim

Diferență cheie – Colecție generică vs non-generic în C

O colecție generică este o clasă care oferă siguranță tipului fără a fi nevoie să derive dintr-un tip de colecție de bază și să implementeze membri specifici tipului. O colecție non-generică este o clasă specializată pentru stocarea și recuperarea datelor care oferă suport pentru stive, cozi, liste și hashtable. Diferența esențială dintre colecția generică și colecția negeneric în C este că o colecție generică este puternic tastată, în timp ce o colecție non-generic nu este tastată puternic.

Ce este colecția generică în C?

Colecțiile non-generice, cum ar fi ArrayList, Queue, Stack etc.poate stoca elemente de diferite tipuri de date. La obținerea articolelor, programatorul ar trebui să le tasteze la tipul de date corect. În caz contrar, poate provoca o excepție de rulare. Clasele de colecție generice pot fi folosite pentru a depăși această problemă. Colecțiile generice stochează elementele intern în matrice de tipurile lor reale. Prin urmare, nu este necesară turnarea tipului. Ele pot fi folosite pentru a stoca elemente de tipul sau tipurile specificate. Unele clase de colecție generice sunt List, Dictionary, SortedList, HashSet, Queue, Stack.

Diferența dintre colecția generică și non-generică în C
Diferența dintre colecția generică și non-generică în C

Lista generică conține elemente de tipul specificat. Poate crește lista în consecință atunci când adăugați elemente. Când există o instrucțiune după cum urmează, toate elementele care pot fi stocate în lista1 ar trebui să fie numere întregi, List list1 – listă nouă ();

Dicționarul generic în C este o colecție de chei și valori. Când există o instrucțiune după cum urmează, dicționarul obiect1 poate stoca chei de tip int și valori de tip șir.

Dicționar dicționar1=dicționar nou ();

O colecție generică SortedList stochează perechi de chei și valori în ordinea crescătoare a cheilor în mod implicit. Exemplul de mai jos stochează cheia de tip int și valoarea de tip șir.

SortedList s0=noua Lista Sortată ();

Acelea sunt câteva exemple pentru colecția generică în C. Aceste colecții pot stoca mai multe valori ale tipurilor de date specificate. Așadar, ele sunt scrise puternic.

Ce este o colecție non-generic în C?

Matricele pot fi folosite pentru a stoca mai multe elemente. Un dezavantaj este că poate stoca elemente de același tip de date. Există clase în C care pot fi folosite pentru a stoca multe valori sau obiecte cunoscute sub numele de colecții. Colecțiile ajută la stocarea, actualizarea, ștergerea, căutarea, sortarea obiectelor. Dimensiunea colecției poate fi mărită sau micșorată dinamic.

Unele clase de colecție negenerice sunt ArrayList, SortedList, Stack, Queue și HashTable. Fiecare clasă de colecție implementează interfața IEnumerable. Vă ajută să repetați elementele elementelor din colecție folosind bucla foreach.

ArrayList este o alternativă la o matrice. Dacă există o matrice care poate stoca 10 elemente, nu poate stoca 20 de elemente. Dacă matricea s-a inițializat la 10 elemente, dar stochează doar 5 elemente, atunci restul nu este folosit. Prin urmare, o matrice este fixă. Într-o ArrayList, este posibil să adăugați sau să eliminați elemente în funcție de index. Permite alocarea dinamică a memoriei. Metoda de sortare poate fi folosită pentru a sorta elementele în ordine crescătoare.

HashTable este folosit pentru a reprezenta o colecție de perechi valori cheie. Ele sunt organizate pe baza codului hash al cheii. Prin urmare, fiecare element are o pereche valoare-cheie. Cheia poate fi folosită pentru a accesa un anumit element din colecție. Stiva reprezintă ultimul intrat, primul ieșit la articole. Coada este folosită pentru accesul primul intrat, primul ieşit la articole. Acestea sunt câteva dintre colecțiile non-generice acceptate de C. Aceste colecții pot stoca elemente de diferite tipuri.

Care este asemănarea dintre colecția generică și negenerică în C?

Atât colecția generică, cât și colecția non-generică pot fi folosite pentru a stoca mai multe elemente în C

Care este diferența dintre colecția generică și negeneric în C?

Colecția Generic vs non-Generic în C

O colecție generică este o clasă care oferă siguranța tipului fără a fi nevoie să derive dintr-un tip de colecție de bază și să implementeze membri specifici tipului. O colecție non-generică este o clasă specializată pentru stocarea și recuperarea datelor care oferă suport pentru stive, cozi, liste și tabele hash.
Spațiu de nume
Clasele de colecție generică sunt în sistem. Colecții. Spațiu de nume generice. Clasele de colecție non-generice sunt în sistem. Spațiu de nume colecții.
Tip
O colecție generică este scrisă puternic. O colecție non-generică nu este scrisă puternic.
Stocarea elementelor
Colecțiile generice stochează elemente în interior în matrice de tipurile lor reale. Colecțiile non-generice stochează elemente în interior în matrice de obiecte, astfel încât să poată stoca orice tip de date.

Rezumat – Colecție generică vs non-generic în C

Acest articol a discutat diferența dintre colecția generică și negeneric în C. Diferența dintre colecția generică și colecția negeneric este că o colecție generică este tastată puternic, în timp ce o colecție negenerica nu este tastată puternic.

Recomandat: