Különbség az általános és a nem általános gyűjtemény között a C-ben

Tartalomjegyzék:

Különbség az általános és a nem általános gyűjtemény között a C-ben
Különbség az általános és a nem általános gyűjtemény között a C-ben

Videó: Különbség az általános és a nem általános gyűjtemény között a C-ben

Videó: Különbség az általános és a nem általános gyűjtemény között a C-ben
Videó: Работа в Америке на фуре | Траковый бизнес и его подводные камни | @MisterGelaG Кархолинг 2024, November
Anonim

Kiemelt különbség – Általános és nem általános gyűjtemény a C nyelven

Az általános gyűjtemény egy olyan osztály, amely típusbiztonságot nyújt anélkül, hogy egy alapgyűjtemény-típusból származna, és típusspecifikus tagokat kellene megvalósítania. A nem általános gyűjtemény egy speciális osztály az adattároláshoz és -visszakereséshez, amely támogatja a veremeket, a sorokat, a listákat és a hashtable-okat. A fő különbség a C általános és nem általános gyűjtemény között az, hogy az általános gyűjtemény erősen gépelt, míg a nem általános gyűjtemény nincs erősen gépelve.

Mi az a Generic Collection a C-ban?

A nem általános gyűjtemények, például az ArrayList, Queue, Stack stb.különböző adattípusú elemeket tárolhat. Az elemek beszerzésekor a programozónak be kell írnia, és a megfelelő adattípusra kell önteni őket. Ellenkező esetben futásidejű kivételt okozhat. Az általános gyűjtési osztályok használhatók a probléma megoldására. Az általános gyűjtemények belsőleg tárolják az elemeket a tényleges típusuk tömbjében. Ezért nincs szükség típusöntésre. A megadott típusú vagy típusú elemek tárolására használhatók. Néhány általános gyűjteményosztály a List, Dictionary, SortedList, HashSet, Queue, Stack.

Különbség az általános és a nem általános gyűjtemény között a C-ban
Különbség az általános és a nem általános gyűjtemény között a C-ban

A GenericList meghatározott típusú elemeket tartalmaz. Elemek hozzáadásakor ennek megfelelően növelheti a listát. Ha van a következő utasítás, akkor a list1-ben tárolható összes elemnek egész számnak kell lennie, Lista lista1 – új lista ();

A C általános szótár kulcsok és értékek gyűjteménye. Ha van a következő utasítás, az objektumszótár1 tárolhatja az int típusú kulcsokat és a karakterlánc típusú értékeket.

Szótár szótár1=új szótár ();

A Generic SortedList gyűjtemény alapértelmezés szerint a kulcs- és értékpárokat a kulcsok növekvő sorrendjében tárolja. Az alábbi példa az int típusú kulcsot és a karakterlánctípus értékét tárolja.

SortedList s0=új RendezettLista ();

Ez csak néhány példa a C általános gyűjteményére. Ezek a gyűjtemények a megadott adattípusok több értékét is tárolhatják. Tehát erősen gépeltek.

Mi az a nem általános gyűjtemény a C-ban?

A tömbök több elem tárolására is használhatók. Az egyik hátránya, hogy képes azonos adattípusú elemeket tárolni. A C-ban vannak olyan osztályok, amelyek számos érték vagy objektum tárolására használhatók, úgynevezett gyűjteményekként. A gyűjtemények segítenek az objektumok tárolásában, frissítésében, törlésében, keresésében, rendezésében. A gyűjtemény mérete dinamikusan növelhető vagy csökkenthető.

Egyes nem általános Collection osztályok az ArrayList, SortedList, Stack, Queue és HashTable. Minden gyűjteményosztály megvalósítja az IEnumerable felületet. Segíti a gyűjtemény elemeinek iterációját a foreach ciklus használatával.

Az ArrayList a tömb alternatívája. Ha van egy tömb, amely 10 elemet tud tárolni, akkor nem tud 20 elemet tárolni. Ha a tömb 10 elemre van inicializálva, de csak 5 elemet tárol, akkor a többi nem használt. Ezért egy tömb rögzített. Az ArrayListben lehetőség van elemek hozzáadására vagy eltávolítására az indextől függően. Lehetővé teszi a dinamikus memóriafoglalást. A rendezési módszerrel az elemek növekvő sorrendbe rendezhetők.

A HashTable kulcsértékpárok gyűjteményének megjelenítésére szolgál. A kulcs hashCode-ja alapján vannak rendezve. Ezért minden elemnek van kulcsértékpárja. A kulcs a gyűjtemény egy adott elemének eléréséhez használható. A verem az utolsó be, elsőként való hozzáférést jelenti az elemekhez. A Várólista az elemek elsőként való eléréséhez használatos. Ez néhány a C által támogatott nem általános gyűjtemények közül. Ezek a gyűjtemények különböző típusú elemeket tárolhatnak.

Mi a hasonlóság az általános és a nem általános gyűjtemény között a C-ban?

Mind az általános, mind a nem általános gyűjtemény használható több elem tárolására a C-ban

Mi a különbség a C általános és nem általános gyűjteménye között?

Általános vs nem általános gyűjtemény a C nyelven

Az általános gyűjtemény egy olyan osztály, amely típusbiztonságot nyújt anélkül, hogy egy alap gyűjteménytípusból származna, és típusspecifikus tagokat kellene megvalósítania. A nem általános gyűjtemény egy speciális adattárolási és visszakeresési osztály, amely támogatja a veremeket, a sorokat, a listákat és a hash táblákat.
Névtér
A Generic Collection osztályok a rendszerben vannak. Gyűjtemények. Általános névtér. A Nem általános Gyűjtemény osztályok a rendszerben vannak. Gyűjtemények névtér.
Típus
Egy általános gyűjtemény erősen gépelt. Egy nem általános gyűjtemény nincs erősen gépelve.
Elemek tárolása
Az általános gyűjtemények belsőleg, a tényleges típusuk tömbjében tárolják az elemeket. A nem általános gyűjtemények belsőleg objektumtömbökben tárolják az elemeket, így bármilyen típusú adatot tárolhatnak.

Összefoglaló – Általános és nem általános gyűjtemény a C nyelven

Ez a cikk a C általános és nem általános gyűjtemény közötti különbséget tárgyalja. A különbség az általános és a nem általános gyűjtemény között az, hogy az általános gyűjtemény erősen gépelt, míg a nem általános gyűjtemény nincs erősen gépelve.

Ajánlott: