Skip to main content

Mi az ArrayList?

A számítógépes programozás tömblistája egy olyan adatszerkezet, amely úgy viselkedik, mint egy számítógépes tömb, de arra is megvalósítja, hogy a tömb méretét dinamikusan növelje.Ellentétben a belső tömb adattípusától, amelyet nem lehet átméretezni a program végrehajtása során, az ArrayList struktúrája növekedhet és csökkenhet a tömb méretét az elemek összeadása vagy törlése alapján.Nagyon kedvező teljesítményprofilja van, lehetővé téve a gyors véletlenszerű hozzáférést az adatgyűjtéshez.Két esetben azonban lassabb, mint más adatszerkezetek, nevezetesen az elemek hozzáadása és eltávolítása a tömb közepéből.A legtöbb objektum-orientált programozási nyelvnek valamilyen típusú megvalósítása van egy ilyen listával, bár ezeket néha dinamikus tömböknek hívják.Egy teljes adatsorozat egy cím megtalálásához, amely a kapcsolódó listákkal szükséges.Annak képességével, hogy szükség szerint növelje a tömb méretét, ez egy nagyon kiegyensúlyozott megközelítés, amely figyelembe veszi mind a rugalmasságot, mind a sebességet.Ezenkívül, ha az elemeket eltávolítják egy ilyen listáról, a tömb mérete csökken, felszabadítva a memóriaterületet.tárolt.Kapcsolódó lista vagy hash -táblázat esetén általában külön tárgyra van szükség a gyűjtemény tartásához és manipulálásához alkalmazott technika fenntartásához.ArrayList segítségével az adatobjektumokkal kapcsolatos egyetlen információ az objektum címe a memóriában.Ez azt jelenti, hogy kevesebb lesz a memória használata, ha az ilyen típusú listával dolgozik.A legtöbb tömböt egymást követő memóriahelyként osztják el.Tehát egy bizonyos méretű ArrayList használatához legalább hogy sok memóriának rendelkezésre kell állnia a blokkok megszakítás nélküli sorrendjében.A dinamikus tömb többször átméretezheti magát, így a memória fragmentálása előfordulhat, és memóriaelosztás -meghibásodást eredményezhet, a program végrehajtásának megállítása.A tömb egy objektumba van beágyazva.Az egyik olyan eset, amikor a dinamikus tömb drámai módon lelassulhat, a megvalósítástól függően, az, amikor a tömb méretét meg kell változtatni.Ez magában foglalhatja az aktuális tömb másolását egy új tömbbe, amelyet az új kívánt méretre kiosztottak, ami átmeneti lebomlást okoz a teljesítményben.Ugyanez a probléma tapasztalható egy elem hozzáadása vagy eltávolításakor a lista közepéről, ami az összes következő elemet új helyre kell mozgatni.