Ar

Array in Java

24 esercizi

Informazioni su Array

In Java, gli array sono un modo per memorizzare più valori dello stesso tipo in un'unica struttura. A differenza di altre strutture dati, gli array hanno una dimensione fissa una volta creati. Gli elementi possono essere assegnati a un array o recuperati da esso tramite un indice. Gli array in Java usano l'indicizzazione a partire da zero: l'indice del primo elemento è 0, quello del secondo è 1 e così via.

Ecco la sintassi standard per inizializzare un array:

type[] variableName = new type[size];

Il type è il tipo degli elementi dell'array, che può essere un tipo primitivo (ad esempio int) o una classe (ad esempio String).

Il size è il numero di elementi che l'array conterrà (e non può essere cambiato in seguito). Dopo la creazione dell'array, gli elementi vengono inizializzati ai loro valori predefiniti (tipicamente 0, false o null).

// Declare array with explicit size (size is 2)
int[] twoInts = new int[2];

Gli array possono anche essere definiti usando una notazione abbreviata che permette sia di creare l'array sia di impostarne i valori:

// Two equivalent ways to declare and initialize an array (size is 3)
int[] threeIntsV1 = new int[] { 4, 9, 7 };
int[] threeIntsV2 = { 4, 9, 7 };

Dato che ora il compilatore riesce a capire quanti elementi avrà l'array, si può omettere la lunghezza.

Gli elementi di un array possono essere assegnati e letti usando una notazione con l'indice tra parentesi quadre:

// Assign second element by index
twoInts[1] = 8;

// Retrieve the second element by index and assign to the int element
int secondElement = twoInts[1];

Accedere a un indice al di fuori degli indici validi dell'array provoca un'IndexOutOfBoundsException.

Gli array si possono manipolare chiamando i metodi o le proprietà di un'istanza di array, oppure usando i metodi statici definiti nella classe Arrays (di solito usati solo nel codice generico). La proprietà length contiene la lunghezza di un array. È possibile accedervi in questo modo:

int arrayLength = someArray.length;

Java fornisce anche un'utile classe di utilità, java.util.Arrays, che ha molti metodi utili per gli array (ad esempio Arrays.equals).

Java supporta anche gli array multidimensionali, come int[][] arr = new int[3][4];, che possono essere molto utili.

Il fatto che un array sia anche una collezione significa che, oltre ad accedere ai valori tramite indice, puoi iterare su tutti i suoi valori usando un ciclo for-each:

char[] vowels = { 'a', 'e', 'i', 'o', 'u' };

for(char vowel: vowels) {
    // Output the vowel
    System.out.print(vowel);
}

// => aeiou

Se vuoi avere più controllo su quali valori iterare, puoi usare un ciclo for:

char[] vowels = { 'a', 'e', 'i', 'o', 'u' };

for (int i = 0; i < 3; i++) {
    // Output the vowel
    System.out.print(vowels[i]);
}

// => aei
Modifica tramite GitHub Il collegamento si apre in una nuova finestra o scheda

Impara Array