Lezione 29-3-12 Array


Un array è una sequenza di variabili. Tutti gli elementi di un array hanno stesso tipo di dato e ogni elemento è identificato tramite un indice. La dimensione dell'array è il numero delle sue variabili. 

Creazione di un array
new <tipo di dato> [dimensione] <nome variabile>
Esempio String [] s = new String [10]; 
una variabile array è una variabile di riferimento.  
String[] rappresenta un dato del tipo “array di stringhe”. Ogni tipo di dato ha un suo tipo di array associato.
NOTA: quando creo un array java inizializza automaticamente tutti gli elementi dell'array con valori nulli. 

Ogni elemento dell'array si denota nel modo s[i]  dove i è un numero intero chiamato indice. L'indice deve essere compreso tra 0 e la dimensione dell'array-1.

Esempio 
final int DIM=5;
String[] s=new String[DIM];
for(int i=0;i<DIM;i++){
s[i]=in.readString(“Stringa n.”+i+”?”);
}

for(int i=0;i<DIM;i++){
if(s[i].length()>soglia)
out.writeln(s[i]);
}

Uso di length
un array non è un oggetto quindi non possono essere invocati metodi su di esso ma hanno un attributo pubblico chiamato length che contiene la dimensione dell'array.
a.length; mi fornisce il numero di elementi dell'array
DA NON CONFONDERE CON a.length(); 

Copia degli array
se io ho 2 array a e b e faccio a=b ottengo che la variabile di riferimento a punta all'oggetto b
per copiare il contenuto di un array in un altro va fatta una copia profonda nel seguente modo: 
for(int i=0;i<a.length;i++){
a[i]=b[i];
}

se cerco di accedere ad una posizione non lecita (minore di 0 o maggiore di legnth-1) riceverò l'errore ArrayIndexOutOfBoundsException


Commenti