Come inizializzare un array in Java?

Un array è una struttura dati in Java utilizzata per archiviare oggetti dati aventi lo stesso tipo di dati. Ogni elemento in un array ha un valore di indice univoco. In un array, dobbiamo prima dichiararne la dimensione e la dimensione dell'array è fissa. In un array, possiamo memorizzare elementi di diversi tipi di dati come numeri interi, stringhe, date e così via. In questo articolo discuteremo dei diversi modi per dichiarare e inizializzare un array.

Dichiarazione di un array in Java

Un array viene dichiarato utilizzando il tipo di dati e l'identificatore. In Java, gli array vengono dichiarati in modo simile a come vengono dichiarate le altre variabili, ma viene aggiunta una parentesi aggiuntiva [] quando dichiariamo un array.

Sintassi:

int arr []; int [] arr; 

Qui, la dimensione dell'array non viene menzionata perché nella memoria viene creato un riferimento a un array. Può anche essere conosciuto come indirizzo di memoria di un array.

Come inizializzare un array in Java?

Dopo aver dichiarato un array dobbiamo inizializzarlo con dei valori così come dobbiamo farlo con le altre variabili. In un array dobbiamo assegnare più valori, quindi il processo di inizializzazione non è semplice come quello delle variabili. Possiamo inizializzare un array con valori predefiniti o non predefiniti. Di seguito sono riportati diversi metodi per inizializzare un array:

  • Inizializza un array con valori predefiniti
  • Inizializza un array con valori non predefiniti
  • Inizializza un array utilizzando le parentesi graffe { }
  • Inizializzazione utilizzando l'interfaccia stream

Inizializza un array con valori predefiniti

In Java, un array può essere inizializzato con valori predefiniti quando la dimensione dell'array viene dichiarata tra parentesi rettangolari [ ].

int [] arr = new int[20]; 

Nel codice precedente, viene dichiarato un array di dimensione 20 in cui il tipo di dati è intero. Diversi tipi di dati hanno diversi valori predefiniti che vengono inizializzati al momento della dichiarazione. Per l'array di tipo intero il valore predefinito è 0, false è il valore predefinito per l'array di tipo booleano e stringa vuota è il valore predefinito per l'array di tipo stringa.

Inizializza un array con valori non predefiniti

In Java possiamo anche inizializzare un array con valori particolari. Per questo, dobbiamo inizializzare ciascun valore uno per uno. Ma questo metodo è utile solo per array di piccole dimensioni, non per array di grandi dimensioni. Per gli array di grandi dimensioni, dobbiamo utilizzare un ciclo per inizializzare valori non predefiniti.

Nell'esempio seguente viene dichiarato un array di tipo intero di dimensione 6 e al suo interno vengono inizializzati 6 valori non predefiniti.

int[] arr = new int[6]; arr[0] = 8; arr[1] = 6; arr[2] = 4; arr[3] = 2; arr[4] = 1; arr[5] = 9; 

Inizializza un array utilizzando le parentesi graffe { }

Un array può anche essere inizializzato utilizzando le parentesi graffe in cui non è necessario dichiarare la dimensione dell'array. Tutti i valori non predefiniti vengono inizializzati tra parentesi graffe separate da una virgola.

Nell'esempio seguente, una matrice di tipo stringa viene inizializzata con valori non predefiniti utilizzando parentesi graffe.

String[] arrStr = {'Geeks', 'of', 'Geeks'}; 

Inizializzazione utilizzando l'interfaccia stream

Un array può essere inizializzato utilizzando un'interfaccia stream che genera un flusso di valori e quindi viene convertito in un array. Di seguito sono riportate tre interfacce instream utilizzate per inizializzare un array di tipo intero.

  • IntStream.intervallo()
  • IntStream.rangeClosed()
  • IntStream.of()

1. IntStream.intervallo()

Viene utilizzato per inizializzare un array di numeri interi all'interno di un determinato intervallo. Il primo parametro dell'intervallo sarà il primo elemento dell'array e gli altri elementi dell'array saranno maggiori di quell'elemento ma minori del secondo parametro dell'intervallo.

2. IntStream.rangeClosed()

Possiamo anche usare intervallo chiuso() invece di allineare() se vogliamo aggiungere l'ultimo elemento dell'intervallo in un array. Il primo parametro in intervallo chiuso() metodo sarà il primo elemento dell'array e gli altri elementi dell'array saranno maggiori di quell'elemento ma minori e uguali al secondo parametro dell'array intervallo chiuso() metodo.

3. IntStream.di()

Questo metodo funziona in modo simile alle parentesi graffe in cui dobbiamo menzionare individualmente ogni elemento che vogliamo assegnare all'array. Nel codice seguente abbiamo assegnato valori all'array utilizzando queste tre interfacce.

Esempio:

Giava




// Java program to demonstrate different ways of> // initializing an integer array.> import> java.util.stream.IntStream;> > // Driver Clas> public> class> Main {> > // Main function> > public> static> void> main(String[] args)> > {> > > // an array of integers using IntStream.range()> > // method> > int> [] arr1 = IntStream.range(> 1> ,> 5> ).toArray();> > for> (> int> i => 0> ; i System.out.print(arr1[i] + ' '); } System.out.print(' '); // an array of integers using // IntStream.rangeClosed() method int[] arr2 = IntStream.rangeClosed(1, 4).toArray(); for (int i = 0; i System.out.print(arr2[i] + ' '); } System.out.print(' '); // an array of integers using IntStream.of() // method int[] arr3 = IntStream.of(1, 2, 3, 4).toArray(); for (int i = 0; i System.out.print(arr3[i] + ' '); } } }>

Produzione

1 2 3 4 1 2 3 4 1 2 3 4