Skip to main content

Cos'è un array dinamico?

Un array dinamico è una struttura di dati utilizzata nella programmazione del computer che contiene più oggetti di elaborazione come singolo gruppo e può essere ridimensionato a volontà per ospitare un numero variabile di oggetti.Il gruppo è tenuto in un singolo blocco contiguo di memoria, quindi l'accesso agli elementi è efficiente e veloce.Gli array dinamici sono anche chiamati vettori o elenchi, a seconda del linguaggio del computer in cui vengono utilizzati.Nonostante questi nomi, qualsiasi particolare elenco o vettore potrebbe non essere un array dinamico, poiché elenchi e vettori possono essere implementati in modo diverso dagli array e l'uno dall'altro.

C ++ contiene una singola classe di array dinamico chiamato Vector, che risiede in un gruppo di classiChiamata libreria modello standard.L'array a cui sostiene questa classe è accessibile da iteratori o dagli indici.La sua capacità di ridimensionare su richiesta è un grande vantaggio, ma può attirare i programmatori in un falso senso di sicurezza perché non è così robusto come sembra essere.Il supporto dell'array dinamico un vettore non può garantire che le richieste di accesso siano valide.Come gli array statici, gli array dinamici possono avere limiti di controllo e problemi di corruzione della memoria se un programma tenta di accedere alla memoria che non è stato assegnato per loro.

Java contiene tre distinte classi di array dinamico: vettore, arraylist e copyonwritearraylist.Gli elementi nell'array sono accessibili solo dagli indici e il tentativo di accedere agli indici al di fuori dell'array di solito non causerà problemi di corruzione della memoria.La classe vettoriale Java è approssimativamente equivalente alla classe vettoriale C ++ e non è sincronizzata per consentire l'accesso da più thread.ArrayList e CopyOnWriteArrayList, al contrario, sono entrambi thread-safe.Dei tre, CopyOnWriteArrayList è la classe più ad alta intensità di lavoro, perché ricrea completamente l'array dinamico ogni volta che un nuovo valore viene scritto nell'array.

Le array dinamiche sono implementate essenzialmente allo stesso modo indipendentemente dal linguaggio del computer coinvolto, maA seconda di una lingua particolare potrebbero esserci altre funzionalità basate su di essa.Come gli array statici, gli array dinamici non limitano il tipo di oggetto che può essere memorizzato al loro interno, purché siano tutti lo stesso tipo di oggetto.Un programmatore non ha mai bisogno di accedere direttamente a un array dinamico;Può sempre essere fatto attraverso una classe che avvolge l'array per un facile utilizzo.L'uso corretto di questi array può aiutare un programmatore con l'organizzazione dei dati all'interno del codice e anche con la creazione di codice comprensibile che si presta a una facile manutenzione.