Különbség a C # tömb és a lista között

A C # Array vs List mindenütt, ahol találkoznak az emberek absztrakciója és megvalósítása számítástechnikában. Egy tömb hihetetlenül sokkal kötődik a folyamatos, egymással szomszédos memória hardver fogalmához, minden rész azonos méretű (bár jellemzően ezek a részek címek, tehát beszéljünk egy nem azonos méretű hivatkozással). A lista lehet ötlet (aritmetikától bizonyos mértékig), bárhová is megrendelik az alkatrészeket, és bárhol is van (általában) kezdés és befejezés, és így bárhol is lehetséges az indexelés. Ez a 2 ötlet elég jól illeszkedik. Ha azonban egy listát elvont adatfajtának, az adatokhoz való hozzáférés és az azokkal való manipuláció megközelítésének tekintünk, képesek vagyunk megsérteni ezeket a szabályokat.

Mi az a tömb?

Egy tömb lehet összehasonlítható adatok egymást követő választéka, amelyhez az „index” szerint férnek hozzá. Ez a rendszer legjobb stílusa, amelynek során az időjárási viszonyok a szomszédos memóriahelyen tarthatók.

A tömbben az index nullával kezdődik, így egy tömb elsődleges részéhez való hozzáféréshez számjegyként (0) kell írni.

Egy tömb lehet az egymást követő memória olyan része, amely n * méret (típusú) bájtot foglal el, ahol n a tömb hossza és a méret (típus) az, hogy a memóriában milyen méretű tárolni kell az információs rendezést, amelyre haladsz. használata a tömbön belül. Ez azt sugallja, hogy ha száz hüvelyk tömböt szeretne létrehozni, és minden int négy bájtot foglal el, akkor lehet, hogy kénytelen lennie legalább egy négyszáz bájt (100 * 4) nem használt memóriarészre. Ez azt is jelenti, hogy a tömb meglehetősen olcsó a memóriadarabok eredményeként kialakítani, felszabadítani és felhasználni.

Tömbbeállítások: -

  • Az információt folyamatos memória allokációban tárolják. minden fél különbözik, egyszer csak egyszer havi / évben. nincs véletlenszerűség az elosztásban.
  • Véletlen hozzáférést biztosítanak, például arr (0), arr (6) stb.
  • A memória statikusan van elosztva. n ez memória pazarlását eredményezheti.
  • A tömb minden cellájában csak 1 típusú adat van.
  • A beillesztés és a törlés kissé intenzívebb.

Mi az a lista?

Az ArrayList lehet azonos vagy eltérő típusú objektumok választéka. Az ArrayList méretei szükség szerint dinamikusan felfújódnak vagy felcsúsznak. Úgy működik, mint egy tömb, ellentétben az ArrayList tömbjével, a dolgokat dinamikusan osztják el vagy osztják el, azaz hozzáadnak, eltávolítanak, indexelnek vagy vadásznak az adatokhoz nagyon választékban.

Egy lista, de teljesen eltérő szerkezetű lehet. A legtöbb lista-megvalósítás csomópontok keveréke, amelyek tárolják: egyet. - Egy ár, és 2. - Egy vagy sok olyan mutató, amelyek a csomópontokat összekötik egymással. Ez azt sugallja, hogy nem kell csak egy hatalmas darab, elérhető memóriát igényelnie, amelynek mérete elég nagy ahhoz, hogy az összes adatot hordozza, mivel a csomópontok szétszóródnak az Ön memóriájában.

Lista lehetőségek: -

  • Az információkat véletlenszerűen tárolják az összetevőkben. n minden fél egy másik cellára mutatóval van összekötve a különféle pontokkal (n az dupla hivatkozás esetén az előző cellához)
  • Mindegyik fél függőségének köszönhetően egymás után elérhetővé kell tenni őket
  • Dinamikusan van hozzárendelve, hogy havi évente minden cellába kiosztják, miután feldolgozta a kérelmet. Így nincs pazarlás m / év
  • Az egyetlen cellát több komponensre osztják, amelyek mindegyike különféle típusú adatokkal rendelkezik. Ugyanakkor az utolsónak lényegében a következő cellára mutató mutatónak kell lennie
  • A beillesztés és a törlés sokkal könnyebb és gyorsabb. A nézés is könnyebb.

Összehasonlítás a fej között, a C # tömb és a lista között

Az alábbiakban a top # 5 különbség van a C # Array vs List között

Legfontosabb különbség a C # tömb és a lista között

Mint láthatja, sok különbség van a C # Array vs List teljesítmény között. Nézzük meg az alábbiakban a C # Array vs. lista felső összehasonlítását -

  1. Az Array azonos típusú adatokat tárol, míg az ArrayList az objektum típusán belül különféle típusú adatokat tárol.
  2. Az ArrayList mérete dinamikusan növekszik, míg a tömb mérete statikus marad a program során.
  3. A beillesztés és a törlés az ArrayListben lassabb, mint az Array.
  4. A tömbök erőteljesen gépelnek, míg a tömblista nem erőteljes gépelésűek.
  5. A tömbök a rendszerhez tartoznak. Array névtér, míg az ArrayList a Systemhez tartozik. Gyűjtemények névtere.
  6. Miután választott az Array és az ArrayList között, válassza ki a lehetőségeinek ötletét, amelyeket éppen végre kell hajtania.

C # tömb és lista-összehasonlító táblázat

Az alábbiakban látható a C # Array vs. lista legfelső összehasonlítása

S.No.

Sor

Lista

1A tömbök folyamatos a memóriában, ezért kimerítő (teljesítmény szempontjából) az alkatrészek beszúrása a lista közepére. Az előnye az, hogy a véletlenszerű hozzáférés lehetősége.A listák ezzel szemben olyan részek, amelyek a memóriában kibontakoznak, egymáshoz kapcsolódnak. Ez lehetővé teszi a lista egyértelmű beszúrását, bár véletlenszerű hozzáférést tesz lehetővé, miközben további adatszerkezetek nem végrehajthatók.
2Egy tömb lehet egy rendszer, erről megemlítve, ez egy speciális megközelítés az adatok memóriaeszközön belüli rendezéséhez.A lista elvont adattípus, azaz bármilyen adatstruktúra támogatja egy adott műveletcsomót.
3A tömb homogén alkatrészek gyűjteménye.A lista heterogén elemek gyűjteménye.
4A tömbmemória statikus és folyamatos.A felsorolt ​​memória dinamikus és véletlenszerű.
5A felhasználónak nem kell korlátoznia a következő memóriaelosztást.A felhasználónak korlátoznia kell a következő hely nyomon követését, bárhol is van memória.

Következtetés - C # tömb vs lista

Láttuk a C # tömb és a lista memóriahasználat összehasonlítását a C # nyelven. A sebesség szempontjából általában érdemes kedvelni a rendszeres tömböket. A teljesítmény nyeresége kritikus.

A listákat általában a C # -ben sokkal inkább használják, mint a tömböket, azonban vannak olyan esetek, ahol tömböket kell használni (vagy kell használni), azzal együtt, ha az adatai valószínűleg nem növekednek jelentősen, vagy ha viszonylag sok adatot kezel. amelyet rendszerint indexálni kell.

Hadd kínáljak 2 listamintát, amelyek megsértik a tömb alapelveit. A hivatkozási listában minden alkatrész a következő alkatrészekre mutat, tehát egyszerűen két pótalkatrészt helyez a két meglévő alkatrész közé, vagy eltávolítja az egyiket, és rögzíti a fennmaradó 2 alkatrészt (az előzőt és a következőt); Míg a részekhez indexelés útján fogok hozzáférni, ezt kizárólag az egyik részről a biztosításra és a vizsgálatra való áttéréssel fogom megtenni, tehát valójában nem indexelik. Egy másik példa arra, hogy a sorban, ahol csak a hegyet növelem és az elejétől elviszem; Ha indexekkel szeretnék hozzáférni a részekhez, akkor ez megvalósítható, de nyilvánvalóan nem bántalmazom a megfelelő elvont adatfajtákat. Nem számít, ha a végrehajtás ezt egyszerűen megadná.

Ajánlott cikk

Ez egy útmutató a C # Array vs List legfontosabb különbségeihez. Itt tárgyaljuk a C # tömb és a lista legfontosabb különbségeit az infographics és az összehasonlító táblázat segítségével. Lehet, hogy megnézi a következő cikkeket is -

  1. Java lista vagy tömblista
  2. C # Interfész vs Absztrakt osztály
  3. ASP.NET vs C #
  4. Java Vector vs ArrayList

Kategória: