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

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

Videó: Különbség a tömbök és a tömblisták között

Videó: Különbség a tömbök és a tömblisták között
Videó: Fejlett világ kontra elmaradott országok - Mi a különbség? 2024, Július
Anonim

Tömbök vs Arraylists

A tömbök a leggyakrabban használt adatszerkezetek egy elemgyűjtemény tárolására. A legtöbb programozási nyelv módszereket biztosít a tömbök egyszerű deklarálására és a tömbök elemeinek elérésére. A tömblistát dinamikus tömbnek tekinthetjük, amelynek mérete nőhet. Emiatt a programozónak nem kell tudnia a tömblista méretét, amikor definiálja azt.

Mik azok a tömbök?

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

int értékek[5];

values[0]=100;

értékek[1]=101;

értékek[2]=102;

values[3]=103;

értékek[4]=104;

1. ábra: Kód egy tömbhöz való értékek deklarálásához és hozzárendeléséhez

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

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

A fenti kód egy tömböt határoz meg, amely 5 egész számot tud tárolni, és ezek 0-tól 4-ig terjedő indexekkel érhetők el. A tömb egyik fontos tulajdonsága, hogy a teljes tömb egyetlen memóriablokkként van lefoglalva, és minden elem megkapja a sajátját. saját hely a tömbben. Ha egy tömb definiálva van, a mérete rögzített. Tehát ha nem biztos a tömb méretében a fordítási időben, akkor elég nagy tömböt kell meghatároznia ahhoz, hogy a biztonságban legyen. De a legtöbbször valójában kevesebb elemet használunk, mint amennyit kiosztottunk. Tehát jelentős mennyiségű memória vész kárba. Másrészt, ha az „elég nagy tömb” valójában nem elég nagy, a program összeomlik.

Mik azok a tömblisták?

A tömblistát dinamikus tömbnek tekinthetjük, amelynek mérete nőhet. Ezért a tömblisták ideálisak olyan helyzetekben való használatra, amikor nem ismerjük a deklarációkor szükséges elemek méretét. A Java-ban a tömblisták csak objektumokat tartalmazhatnak, primitív típusokat közvetlenül nem (a primitív típusokat elhelyezheti egy objektumon belül, vagy használhatja a primitív típusok burkoló osztályait). Általában a tömblisták rendelkeznek beszúrási, törlési és keresési módszerekkel. Egy elem elérésének időbonyolultsága o(1), míg a beillesztés és törlés időbonyolultsága o(n). A Java-ban a tömblisták bejárhatók foreach ciklusok, iterátorok vagy egyszerűen az indexek használatával.

Mi a különbség a tömbök és a tömblisták között

Bár a tömbök és a tömblisták hasonlóak abban az értelemben, hogy mindkettő elemgyűjtemény tárolására szolgál, definíciójukban különböznek. A tömb méretét meg kell adni egy tömb definiálásakor, de a tényleges méret ismerete nélkül is megadhat egy tömblistát. A tömblistához a definiálás után is hozzáadhat elemeket, de ez tömbök esetén nem lehetséges. De a Java-ban a tömblisták nem tartalmazhatnak primitív típusokat, de a tömbök használhatók primitív típusok tárolására. De ha olyan adatstruktúrára van szüksége, amely változtathatja a méretét, akkor a tömblista lenne a legjobb választás.

Ajánlott: