Co je to dynamické pole?

Dynamické pole je datová struktura používaná v počítačovém programování, která obsahuje více výpočetních objektů jako jednu skupinu a lze libovolně měnit velikost tak, aby vyhovovala různým počtem objektů. Skupina je držena v jednom sousedícím bloku paměti, takže přístup k prvkům je efektivní a rychlý. Dynamická pole se také nazývají vektory nebo seznamy, v závislosti na jazyce počítače, ve kterém jsou použity. Přes tato jména, žádný konkrétní seznam nebo vektor nemusí být dynamickým polem, protože seznamy a vektory mohou být implementovány odlišně od polí a od sebe navzájem.

C ++ obsahuje jednu třídu dynamického pole nazvanou vektor, která se nachází ve skupině tříd nazývaných standardní knihovna šablon. K poli, které podporuje tuto třídu, mohou přistupovat iterátory nebo indexy. Jeho schopnost změnit velikost na vyžádání je velká výhoda, ale může nalákat programátory do falešného pocitu bezpečí, protože není tak robustní, jak se zdá. Dynamické pole podporující vektor nemůže zajistit, aby požadavky na přístup byly platné. Stejně jako statická pole mohou mít dynamická pole kontrolu mezí a poškození paměti, pokud se program pokusí získat přístup k paměti, která jim nebyla přidělena.

Java obsahuje tři odlišné třídy dynamického pole: Vector, ArrayList a CopyOnWriteArrayList. K prvkům v poli jsou přistupovány pouze indexy a pokus o přístup k indexům mimo pole obvykle nezpůsobí problémy s poškozením paměti. Třída Java Vector je zhruba ekvivalentní třídě vektorů C ++ a není synchronizována, aby umožňovala přístup více vlákny. Naproti tomu ArrayList a CopyOnWriteArrayList jsou oba bezpečné. Ze tří je CopyOnWriteArrayList nejnáročnější třídou, protože zcela obnovuje dynamické pole pokaždé, když je do pole zapsána nová hodnota.

Dynamická pole jsou implementována v podstatě stejným způsobem bez ohledu na použitý počítačový jazyk, ale v závislosti na konkrétním jazyce mohou být na jeho vrcholu zabudovány další funkce. Podobně jako statická pole dynamická pole neomezují typ objektu, který může být v nich uložen, pokud se jedná o stejný typ objektu. Programátor nikdy nepotřebuje přímý přístup k dynamickému poli; to lze vždy provést pomocí třídy, která obaluje pole pro snadné použití. Správné použití těchto polí může napomoci programátorovi s organizací dat uvnitř kódu a také s vytvořením srozumitelného kódu, který umožňuje snadnou údržbu.

JINÉ JAZYKY

Pomohl vám tento článek? Děkuji za zpětnou vazbu Děkuji za zpětnou vazbu

Jak můžeme pomoci? Jak můžeme pomoci?