Initialisation des tableaux dans Kotlin

1. Vue d'ensemble

Dans ce rapide tutoriel, nous verrons comment nous pouvons initialiser un tableau dans Kotlin.

2. Méthode de la bibliothèque arrayOf

Kotlin a une méthode arrayOf intégrée qui convertit les valeurs énumérées fournies en un tableau du type donné:

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

3. Tableaux primitifs

Nous pouvons également utiliser la méthode arrayOf avec des valeurs primitives.

Cependant, Kotlin placera automatiquement les valeurs primitives dans leurs classes d'encapsuleur d'objet correspondantes, ce qui aura des implications néfastes sur les performances. Pour éviter cette surcharge, Kotlin a un large support pour les tableaux primitifs. Il existe des méthodes arrayOf dédiées pour les types suivants: double, float, long, int, char, short, byte, boolean.

Nous pouvons facilement initialiser un tableau int primitif en utilisant sa méthode arrayOf dédiée :

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

4. Initialisation tardive avec des indices

Parfois, nous ne voulons pas définir les valeurs du tableau lors de l'instanciation. Dans ce cas, nous pouvons créer un tableau de valeurs nulles .

Après instanciation, nous pouvons accéder et définir les champs du tableau. Il existe plusieurs façons de le faire, mais une méthode courante consiste à utiliser la propriété indices de Kotlin . Cette propriété renvoie une plage d'indices valides pour le tableau. Nous pouvons utiliser range pour accéder et définir les valeurs du tableau dans une boucle for .

Initialisons notre tableau avec des nombres carrés en utilisant cette approche:

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

5. Génération de valeurs avec un initialiseur

Les tableaux primitifs et les tableaux d'objets ont tous deux des constructeurs qui acceptent une fonction d'initialisation comme second paramètre . Cette fonction d'initialisation prend l'index comme paramètre d'entrée, le traduit en valeur appropriée à l'aide de la fonction et l'insère dans le tableau.

Nous pouvons initialiser un tableau avec des nombres carrés sur une seule ligne:

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

Comme mentionné, ce type de constructeur est également disponible pour les tableaux d'objets:

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

6. Conclusion

Dans ce didacticiel, nous avons vu comment initialiser des tableaux dans Kotlin. Nous avons découvert la large gamme de support pour les tableaux primitifs. Nous avons également observé comment nous pouvons utiliser le constructeur de tableau avec une fonction d'initialisation pour écrire du code concis.

Comme toujours, le code est disponible sur sur GitHub.