Co je to dynamické pole?

Dynamické pole je struktura dat používaná v počítačovém programování, která drží více výpočetních objektů jako jedné skupiny a lze jej podle libosti velikosti, aby vyhovoval různým počtem objektů. Skupina je držena v jediném sousední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 počítačovém jazyce, ve kterém jsou používány. Přes tato jména nemusí být žádný konkrétní seznam nebo vektor dynamické pole, 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 zvanou vektor, která sídlí ve skupině tříd nazývaných knihovnou standardní šablony. Pole, které podporuje tuto třídu, lze přistupovat iterátory nebo indexy. Jeho schopnost změnit velikost na vyžádání je velkou výhodou, ale může nalákat programátory do falešného pocitu bezpečnosti, protože to není tak robustní, jak se zdá být. Dynamické pole podporující vektor nemůže zajistit, aby ACŽádosti o cess jsou platné. Stejně jako statická pole mohou mít dynamická pole problémy s kontrolou a korupcí paměti, pokud se program pokusí o přístup k paměti, která pro ně nebyla přidělena.

Java obsahuje tři odlišné třídy dynamických polí: Vector, ArrayList a CopyOnWriteArrayList. Prvky v poli jsou přístupné pouze indexy a pokus o přístup k indexům mimo pole obvykle nezpůsobí problémy s korupcí paměti. Třída Java Vector je zhruba ekvivalentní třídě C ++ vektoru a není synchronizována tak, aby umožnila přístup více vlákny. Naproti tomu ArrayList a CopyOnWriteArrayList jsou bezpečné na vlákno. Ze tří je copyonwritearraylist nejvíce náročnou 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 výpočetEr jazyk zahrnoval, ale v závislosti na konkrétním jazyce mohou být na jeho vrcholu postaveny jiné schopnosti. Stejně jako statická pole, dynamická pole neomezují typ objektu, který může být uvnitř uložen, pokud jsou všechny stejné typ objektu. Programátor nikdy nemusí mít přístup přímo do dynamického pole; To lze vždy provést prostřednictvím třídy, která zabalí pole pro snadné použití. Správné používání těchto polí může pomoci programátorovi s organizací dat uvnitř kódu a také s vytvořením srozumitelného kódu, který se hodí k snadné údržbě.

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?