Különbség a tömbök és a tömblista között

Tömbök vagy tömblista

Az elemek gyűjteményének tárolására a tömbök a leggyakrabban használt adatszerkezetek. A legtöbb programozási nyelv módszereket biztosít a tömbök és a tömbökhez való hozzáférési elemek könnyű deklarálására. A tömblista dinamikus tömbként tekinthető, amelynek mérete növekszik. Ezért a programozónak nem kell tudnia a tömblista méretét, amikor definiálja.

Mik a tömbök??

Az 1. ábrán látható kódrészlet, amelyet általában egy tömb értékének deklarálására és hozzárendelésére használnak. A 2. ábra azt mutatja be, hogy egy tömb hogyan nézne ki a memóriában.

int értékek [5];

értékeket [0] = 100;

értékeket [1] = 101;

értékeket [2] = 102;

értékeket [3] = 103;

értékek [4] = 104;

1. ábra: Az értékek deklarálása és hozzárendelése a tömbhez


100 101 102 103 104
Index: 0 1 2 3 4

2. ábra: A memóriában tárolt tömb

A kód felett egy olyan tömböt határoz meg, amely 5 egész számot tárolhat, és a 0–4 indexekkel érhető el. A tömb egyik fontos tulajdonsága, hogy a teljes tömböt egyetlen memóriablokknak osztják el, és minden elem saját helyet kap a tömbben . Miután egy tömb meghatározásra került, rögzítik annak méretét. Tehát ha nem biztos a tömb méretében a fordításkor, akkor elég nagy tömböt kell definiálnia ahhoz, hogy biztonságban legyen. De a legtöbb alkalommal valójában kevesebb elemet fogunk használni, mint amennyit kiosztunk. Tehát jelentős mennyiségű memória pazarlik el. Másrészt, ha a „elég nagy tömb” valójában nem elég nagy, akkor a program összeomlik.

Mik a tömblista??

A tömblista dinamikus tömbként tekinthető, amelynek mérete növekszik. Ezért a tömblisták ideálisak olyan helyzetekben történő alkalmazáshoz, amelyekben nem ismeri a deklaráció időpontjában szükséges elemek méretét. A Java-ban a tömblisták csak objektumokat tudnak tartani, nem képesek közvetlenül a primitív típusokat tartani (az primitív típusokat egy objektumba tehetik, vagy használhatják a primitív típusok wrapper osztályait). A tömblistákat általában beillesztési, törlési és keresési eljárásokkal látják el. Az elemhez való hozzáférés időbonyolultsága o (1), míg a beillesztés és törlés o (n) időbeli összetettsége. A Java-ban a tömblisták foreach hurkok, iterátorok vagy egyszerűen az indexek segítségével haladhatók át.

Mi a különbség a tömbök és a tömblista között?

Annak ellenére, hogy a tömbök és a tömblisták hasonlóak abban az értelemben, hogy mindkettőt elemgyűjtemények tárolására használják, a meghatározásukban különböznek egymástól. A tömb méretét a tömb meghatározásakor kell megadni, de meghatározhat egy tömblistát a tényleges méret ismerete nélkül. Elemeket hozzáadhat egy tömblistához, miután meghatározta, és tömböknél ez nem lehetséges. De a Java-ban a tömblisták nem tarthatnak primitív típusokat, hanem tömbök használhatók primitív típusok tartására. De ha olyan adatstruktúrára van szüksége, amely méretétől függően változhat, akkor az arraylista lenne a legjobb választás.