Differenza Tra Array E Array

Differenza Tra Array E Array
Differenza Tra Array E Array

Video: Differenza Tra Array E Array

Video: Differenza Tra Array E Array
Video: Урок 57 по программированию на C + - Массив против вектора против массива STL 2024, Aprile
Anonim

Arrays vs Arraylist

Gli array sono la struttura dati più comunemente utilizzata per memorizzare una raccolta di elementi. La maggior parte dei linguaggi di programmazione fornisce metodi per dichiarare facilmente gli array e accedere agli elementi negli array. Un elenco di array può essere visto come un array dinamico, che può aumentare di dimensioni. Per questo motivo, il programmatore non ha bisogno di conoscere la dimensione dell'elenco di array quando lo definisce.

Cosa sono gli array?

Nella figura 1 è mostrato un pezzo di codice tipicamente utilizzato per dichiarare e assegnare valori a un array. La Figura 2 mostra come apparirebbe un array nella memoria.

valori [0] = 100;

valori [1] = 101;

valori [2] = 102;

valori [3] = 103;

valori [4] = 104;

Figura 1: codice per la dichiarazione e l'assegnazione di valori a un array

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

Figura 2: array archiviato in memoria

Sopra il codice, definisce un array che può memorizzare 5 numeri interi e vi si accede utilizzando gli indici da 0 a 4. Una proprietà importante di un array è che l'intero array viene allocato come un singolo blocco di memoria e ogni elemento ottiene il proprio spazio nell'array. Una volta definito un array, la sua dimensione viene fissata. Quindi, se non sei sicuro della dimensione dell'array in fase di compilazione, dovresti definire un array abbastanza grande da essere al sicuro. Ma, la maggior parte delle volte, useremo effettivamente un numero di elementi inferiore a quello che abbiamo assegnato. Quindi una notevole quantità di memoria viene effettivamente sprecata. D'altra parte, se la "matrice abbastanza grande" non è effettivamente abbastanza grande, il programma andrebbe in crash.

Cosa sono gli Arraylist?

Un elenco di array può essere visto come un array dinamico, che può aumentare di dimensioni. Pertanto gli arraylist sono ideali per essere utilizzati in situazioni in cui non si conosce la dimensione degli elementi richiesti al momento della dichiarazione. In Java, gli arraylist possono contenere solo oggetti, non possono contenere direttamente i tipi primitivi (puoi inserire i tipi primitivi all'interno di un oggetto o utilizzare le classi wrapper dei tipi primitivi). In genere agli arraylists vengono forniti metodi per eseguire l'inserimento, l'eliminazione e la ricerca. La complessità temporale di accesso a un elemento è o (1), mentre l'inserimento e la cancellazione ha una complessità temporale di o (n). In Java, gli array possono essere attraversati utilizzando cicli foreach, iteratori o semplicemente utilizzando gli indici.

Qual è la differenza tra array e array

Anche se gli array e gli array sono simili nel senso che entrambi vengono utilizzati per archiviare raccolte di elementi, differiscono nel modo in cui vengono definiti. La dimensione dell'array deve essere specificata quando viene definito un array, ma è possibile definire un elenco di array senza conoscere la dimensione effettiva. È possibile aggiungere elementi a un elenco di array dopo che è stato definito e ciò non è possibile con gli array. Ma in Java, gli array non possono contenere tipi primitivi, ma gli array possono essere usati per contenere tipi primitivi. Ma se hai bisogno di una struttura dati che possa variare le sue dimensioni, arraylist sarebbe la scelta migliore.

Raccomandato: