Inizializzazione degli array in Kotlin

1. Panoramica

In questo rapido tutorial, vedremo come inizializzare un array in Kotlin.

2. Metodo arrayOf Library

Kotlin ha un metodo arrayOf integrato che converte i valori enumerati forniti in un array del tipo dato:

val strings = arrayOf("January", "February", "March")

3. Array primitivi

Possiamo anche usare il metodo arrayOf con valori primitivi.

Tuttavia, Kotlin imposterà automaticamente i valori primitivi nelle classi di wrapper di oggetti corrispondenti che avranno implicazioni dannose sulle prestazioni. Per evitare questo sovraccarico, Kotlin ha un ampio supporto per gli array primitivi. Esistono metodi arrayOf dedicati per i seguenti tipi: double, float, long, int, char, short, byte, boolean.

Possiamo facilmente inizializzare un array int primitivo usando il suo metodo arrayOf dedicato :

val integers = intArrayOf(1, 2, 3, 4)

4. Inizializzazione tardiva con indici

A volte non vogliamo definire i valori dell'array all'istanza. In questo caso, possiamo creare un array di valori nulli .

Dopo l'istanziazione, possiamo accedere e impostare i campi dell'array. Ci sono diversi modi per farlo, ma un modo comune è usare la proprietà degli indici di Kotlin . Questa proprietà restituisce un intervallo di indici validi per l'array. Possiamo usare range per accedere e impostare i valori dell'array in un ciclo for .

Inizializziamo il nostro array con numeri quadrati usando questo approccio:

val array = arrayOfNulls(5) for (i in array.indices) { array[i] = i * i }

5. Generazione di valori con un inizializzatore

Sia gli array primitivi che gli array di oggetti hanno costruttori che accettano una funzione di inizializzazione come secondo parametro . Questa funzione di inizializzazione accetta l'indice come parametro di input, lo traduce nel valore appropriato utilizzando la funzione e lo inserisce nell'array.

Possiamo inizializzare un array con numeri quadrati in una riga:

val generatedArray = IntArray(10) { i -> i * i }

Come accennato, questo tipo di costruttore è disponibile anche per gli array di oggetti:

val generatedStringArray = Array(10) { i -> "Number of index: $i" }

6. Conclusione

In questo tutorial, abbiamo visto come inizializzare gli array in Kotlin. Abbiamo scoperto l'ampia gamma di supporto per gli array primitivi. Abbiamo anche osservato come possiamo usare il costruttore di array con una funzione di inizializzazione per scrivere codice conciso.

Come sempre, il codice è disponibile su GitHub.