articles
Livello 15

Array Java

Pubblicato nel gruppo Random-IT

Array

Un array è una struttura dati che memorizza valori dello stesso tipo. Si accede a un singolo elemento dell'array utilizzando un indice intero. Ad esempio, se a è un array di numeri interi, il valore dell'espressione a[i] è uguale all'i-esimo intero nell'array. Array Java - 1Un array si dichiara nel modo seguente: prima viene indicato il tipo dell'array, cioè il tipo degli elementi contenuti nell'array, seguito da una coppia di parentesi quadre vuote, e poi il nome della variabile. Ad esempio, ecco come dichiarare un array composto da numeri interi:
int[] a;
Tuttavia, questa istruzione dichiara solo una variabile а, senza inizializzarla con un array effettivo. Per creare un array è necessario utilizzare l'operatore new.
int[] a = new int [100];
Questo operatore crea un array di 100 numeri interi. Gli elementi di questo array sono numerati da 0 a 99 (non da 1 a 100). Una volta creato, l'array può essere riempito, ad esempio, utilizzando un loop.
int[] а = new int[100];
for (int i = 0; i < 100; i++)
 a[i] = i; //Заполняет массив числами от 0 до 99
Se provi ad accedere a un elemento а [100](o qualsiasi altro elemento il cui indice non è compreso nell'intervallo da 0 a 99) creando un array di 100 elementi, il programma terminerà perché si verificherà un'eccezione dell'indice dell'array fuori intervallo. Per contare il numero di elementi in un array, utilizzare il metodo Array name .length. Per esempio,
for (int i = 0; i < a.length; i++, System.out.println(a[i]));
Una volta creato un array, è impossibile modificarne le dimensioni (anche se è possibile, ovviamente, modificarne i singoli elementi). Se è necessario modificare frequentemente la dimensione di un array durante l'esecuzione del programma, è meglio utilizzare un'altra struttura dati chiamata elenco di array. Un array può essere dichiarato in due modi:
int[] a;
or
int a[];
La maggior parte dei programmatori Java preferisce il primo stile perché separa più chiaramente il tipo di array int [](array di numeri interi) dal nome della variabile.

Inizializzatori di array e array senza nome

Java ha una funzionalità per creare un array e inizializzarlo simultaneamente. Ecco un esempio di tale struttura sintattica:
int[] smallPrimes = {2, 3, 5, 7, 11, 13};
Si noti che in questo caso non è necessario utilizzare l'operatore new. Inoltre, puoi anche inizializzare un array senza nome:
new int[] {16, 19, 23, 29, 31, 37}
Questa espressione alloca memoria per un nuovo array e lo riempie con i numeri specificati tra parentesi graffe. In questo caso, viene calcolato il loro numero e, di conseguenza, viene determinata la dimensione dell'array. Questa costruzione sintattica è comoda da utilizzare per reinizializzare un array senza creare una nuova variabile. Ad esempio, l'espressione
smallPrimes = new int{17, 19, 23, 29, 31, 37};
è un'espressione abbreviata
int[] anonymous = {17, 19, 23, 29, 31, 37};
smallPrimes = anonymous;
È possibile creare un array di dimensione zero. Un array di questo tipo può essere utile quando si scrive un metodo che valuta un array che risulta vuoto. Un array di lunghezza zero viene dichiarato come segue:
new тип Элементов[]
Si noti che un tale array non è equivalente a un oggetto null.

Copia di array

Un array può essere copiato in un altro, ma entrambe le variabili faranno riferimento allo stesso array.
int[] luckyNumbers = smallPrimes;
luckyNumbers[5] = 12; //Теперь элемент smallPrimes[5]также equals 12
Il risultato è mostrato in Fig. 3.1. Se devi copiare tutti gli elementi di un array in un altro, dovresti utilizzare il metodo arraycopy dalla classe System. La sua chiamata è simile a questa:
System.arraycopy(from, fromlndex, to, tolndex, count);
L'array todeve essere sufficientemente grande da contenere tutti gli elementi da copiare. Array Java - 2
Fig.3.1. Copia di un array
Ad esempio, gli operatori mostrati di seguito, i cui risultati sono mostrati in Fig. 3.2, crea due array e poi copia gli ultimi quattro elementi del primo array nel secondo. La copia inizia dalla seconda posizione nell'array di origine e gli elementi copiati vengono inseriti nell'array di destinazione a partire dalla terza posizione.
int[] smallPrimes = {2, 3, 5, 7, 11, 13};
int[] luckyNumbers = {1001, 1002, 1003, 1004, 1005, 1006, 1007};
System.аrrаусору(smallPrimes, 2, luckyNumbers, 3, 4);
for (int i = 0; i < luckyNumbers.length; i++)
System.out.println(i + ": " + luckyNumbers[i]);
L'esecuzione di queste istruzioni produce il seguente risultato.
0: 1001
1: 1002
2: 1003
3: 5
4: 7
5: 11
6: 13
Array Java - 3
Riso. 3.2. Copia di elementi dell'array
Un array in Java è significativamente diverso da un array in C++. Tuttavia, è praticamente uguale a un puntatore a un array dinamico. Ciò significa che l'operatore
int[] a = new int[100]; //Java
è equivalente all'operatore
int* = new int[100]; //C++,
а не
int a[100]; //C++
In Java, l' []operatore predefinito controlla l'intervallo di indici. Inoltre, Java non dispone dell'aritmetica dei puntatori: non è possibile incrementare un puntatore per accedere all'elemento successivo di un array. Link alla fonte: array Java
Commenti
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION