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.
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.