Erinevus üldise ja mitteüldise kollektsiooni vahel C-s

Sisukord:

Erinevus üldise ja mitteüldise kollektsiooni vahel C-s
Erinevus üldise ja mitteüldise kollektsiooni vahel C-s

Video: Erinevus üldise ja mitteüldise kollektsiooni vahel C-s

Video: Erinevus üldise ja mitteüldise kollektsiooni vahel C-s
Video: Armando Perla. Making Space for Historically Excluded Voices 2024, November
Anonim

Peamine erinevus – üldine vs mitteüldine kollektsioon C

Üldine kollektsioon on klass, mis tagab tüübiohutuse, ilma et peaks tuletama põhikogu tüübist ja rakendama tüübispetsiifilisi liikmeid. Mitteüldine kogu on andmete salvestamise ja toomise spetsialiseerunud klass, mis pakub tuge virnade, järjekordade, loendite ja räsitabelite jaoks. Peamine erinevus üldise ja mitteüldise kogu vahel C-s on see, et üldine kogu on tugevasti trükitud, samas kui mitteüldine kogu on tugev alt trükitud.

Mis on C üldine kollektsioon?

Mitte üldised kogud, nagu ArrayList, Queue, Stack jne.saab salvestada erinevat tüüpi andmeelemente. Üksuste hankimisel peaks programmeerija trükkima need õigesse andmetüüpi. Vastasel juhul võib see põhjustada käitusaja erandi. Selle probleemi lahendamiseks saab kasutada üldisi kogumisklasse. Üldkogud salvestavad elemente sisemiselt nende tegelike tüüpide massiividesse. Seetõttu pole tüübivalu vajalik. Neid saab kasutada kindlaksmääratud tüüpi või tüüpide elementide salvestamiseks. Mõned üldised koguklassid on loend, sõnastik, sorteeritud loend, räsikomplekt, järjekord, virn.

Erinevus üldise ja mitteüldise kogu vahel C-s
Erinevus üldise ja mitteüldise kogu vahel C-s

GenericList sisaldab määratud tüüpi elemente. See võib elementide lisamisel loendit vastav alt suurendada. Kui on olemas järgmine lause, peaksid kõik loendisse 1 salvestatavad elemendid olema täisarvud, List list1 – uus loend ();

C üldsõnastik on võtmete ja väärtuste kogu. Kui on olemas järgmine lause, võib objektisõnastik1 salvestada int-tüüpi võtmeid ja stringitüübi väärtusi.

Sõnastiksõnastik1=uus sõnastik ();

Üldine sorteeritud loendi kogu salvestab võtmete ja väärtuste paarid vaikimisi võtme kasvavas järjekorras. Allolevas näites on talletatud int-tüübi võti ja stringitüübi väärtus.

SortedList s0=uus SortedList ();

Need on mõned näited üldise kogumise kohta C-s. Need kogud võivad salvestada mitu määratud andmetüüpide väärtust. Seega on need tugevasti trükitud.

Mis on C mitteüldine kogu?

Massiive saab kasutada mitme elemendi salvestamiseks. Üks puudus on see, et see suudab salvestada sama tüüpi andmetüüpe elemente. C-s on klasse, mida saab kasutada paljude väärtuste või objektide salvestamiseks, mida nimetatakse kogudeks. Kogud aitavad objekte salvestada, värskendada, kustutada, otsida, sortida. Kogu suurust saab dünaamiliselt suurendada või vähendada.

Mõned mitteüldised kollektsiooniklassid on ArrayList, SortedList, Stack, Queue ja HashTable. Iga kollektsiooni klass rakendab IEnumerable liidest. See aitab korrata kogu üksuste elemente, kasutades foreach-tsüklit.

ArrayList on massiivi alternatiiv. Kui on olemas massiiv, mis suudab salvestada 10 elementi, ei saa see salvestada 20 elementi. Kui massiiv on lähtestatud 10 elemendiks, kuid salvestab ainult 5 elementi, siis ülejäänud osa ei kasutata. Seetõttu on massiiv fikseeritud. ArrayListis on sõltuv alt indeksist võimalik elemente lisada või eemaldada. See võimaldab dünaamilist mälu eraldamist. Sorteerimismeetodit saab kasutada elementide sortimiseks kasvavas järjekorras.

Räsitabelit kasutatakse võtmeväärtuste paaride kogumi esitamiseks. Need on korraldatud võtme räsikoodi alusel. Seetõttu on igal elemendil võtmeväärtuste paar. Võtme abil saab juurdepääsu kogu konkreetsele elemendile. Virn tähistab üksustele juurdepääsu viimasena sisse ja esimesena. Järjekorda kasutatakse üksuste esimene sissepääsuks. Need on mõned mitte-üldised kogud, mida C toetab. Nendesse kogudesse saab salvestada erinevat tüüpi elemente.

Milline on C üldise ja mitteüldise kogu sarnasus?

Nii üldist kui ka mitteüldist kogu saab kasutada mitme elemendi salvestamiseks C-s

Mis vahe on C üldisel ja mitteüldisel kollektsioonil?

Üldine vs mitteüldine kollektsioon C

Üldine kollektsioon on klass, mis tagab tüübiohutuse, ilma et peaks tuletama põhikogu tüübist ja rakendama tüübispetsiifilisi liikmeid. Mitteüldine kogu on andmete salvestamise ja toomise spetsialiseerunud klass, mis pakub tuge virnade, järjekordade, loendite ja räsitabelite jaoks.
Nimeruum
Generic Collection klassid on süsteemis. Kollektsioonid. Generics nimeruum. Mitte-üldise kollektsiooni klassid on süsteemis. Kogude nimeruum.
Tüüp
Üldine kogu on tugevasti trükitud. Mitteüldine kogu ei ole tugevasti trükitud.
Elementide salvestamine
Üldised kollektsioonid salvestavad elemente sisemiselt nende tegelike tüüpide massiividesse. Mitteüldised kogud salvestavad elemente sisemiselt objektimassiividesse, et saaksid talletada mis tahes tüüpi andmeid.

Kokkuvõte – üldine vs mitteüldine kollektsioon C

Selles artiklis käsitleti erinevust üldise ja mitteüldise kogu vahel C-s. Erinevus üldise ja mitteüldise kogu vahel seisneb selles, et üldine kogu on tugevasti trükitud, samas kui mitteüldine kogu on tugev alt trükitud.

Soovitan: