Blog ENI : Toute la veille numérique !
🐠 -25€ dès 75€ 
+ 7 jours d'accès à la Bibliothèque Numérique ENI. Cliquez ici
Accès illimité 24h/24 à tous nos livres & vidéos ! 
Découvrez la Bibliothèque Numérique ENI. Cliquez ici

Les tableaux

Les tableaux à une dimension

Nous savons désormais manipuler des variables. L’inconvénient est qu’il faut déclarer autant de variables que de données à stocker.

1. L’intérêt des tableaux

Soit le programme suivant qui stocke cinq prénoms et les affiche via une fonction :

fun main() 
{ 
 val name1 = "Jean" 
 val name2 = "Robert" 
 val name3 = "Maurice" 
 val name4 = "Ludovic" 
 val name5 = "Sylvie" 
 
 displayNames(name1, name2, name3, name4, name5) 
} 
 
fun displayNames(name1: String, name2: String, name3: String, 
name4: String, name5: String) 
{ 
 println(name1) 
 println(name2) 
 println(name3) 
 println(name4) 
 println(name5) 
} 

Ce programme est très compliqué à maintenir. En effet, si l’on veut ajouter un sixième nom, on doit faire plusieurs modifications, comme ajouter une variable dans la fonction main, ajouter un paramètre dans la signature de la fonction displayNames, modifier le corps de la fonction displayNames pour ajouter une instruction println et finalement modifier l’appel de la fonction displayNames dans la fonction main pour passer un sixième argument.

Il convient donc d’appliquer systématiquement quatre modifications pour ajouter un nom à ce programme. Pour une évolution si simple, c’est malheureusement trop. Nous allons donc voir comment les tableaux, dans ce cas précis, peuvent aider à rendre les programmes plus maintenables.

2. Déclarer un tableau

La première chose à savoir est qu’un tableau est une variable comme une autre (voir le chapitre Manipuler les variables).

a. Déclarer un tableau "vide"

Pour déclarer un tableau vide, c’est-à-dire un tableau dans lequel les différentes cases ne sont pas initialisées avec des valeurs déjà définies, il convient d’appeler la fonction arrayOfNulls en renseignant en tant qu’argument sa taille, c’est-à-dire le nombre d’éléments que l’on peut mettre dedans. Il également nécessaire de renseigner, entre des chevrons et avant le passage de l’argument, le...

Les tableaux multidimensionnels

Outre des tableaux d’entiers, de chaînes de caractères, de nombres décimaux, etc. il est possible de créer des tableaux de tableaux. C’est ce qu’on appelle des tableaux multidimensionnels.

Dans les tableaux à deux dimensions (les tableaux de tableaux), au lieu de n’avoir qu’une seule ligne, nous avons en quelque sorte une grille composée de lignes et de colonnes. Ils peuvent être utiles pour représenter, par exemple, une matrice :

images/07RI01.png

1. Déclarer un tableau multidimensionnel

a. Déclarer un tableau "vide"

Pour déclarer un tableau multidimensionnel vide, on écrit le mot-clé Array, suivi du nombre de lignes qui composent le tableau multidimensionnel entre parenthèses. Suite à cela, on précise, entre accolades, le type des éléments qui composent le tableau, ainsi que le nombre de colonnes de celui-ci.

Pour préciser le type des éléments qui composent le tableau, on utilise la fonction arrayOfNulls en précisant entre chevrons le type des éléments. Juste après cela, on passe le nombre de colonnes en tant qu’argument de la fonction.

Par exemple, déclarons un tableau composé de six lignes et de quatre colonnes et contenant des nombres entiers :

val matrix = Array(6) { arrayOfNulls<Int>(4) } 

Le nombre de lignes et de colonnes est fixe et ne peut pas être modifié !

b. Déclarer un tableau "prérempli"

Kotlin nous offre également la possibilité de remplir directement un tableau multidimensionnel au moment de sa déclaration. La syntaxe est un peu différente : on utilise la fonction arrayOf et on lui passe en tant qu’arguments les tableaux qui composent les lignes ; et pour déclarer chaque tableau qui compose une ligne, on utilise une nouvelle fois la fonction arrayOf et on lui passe en arguments les éléments composant la ligne

Dans ce cas, la taille du tableau est automatiquement fixée par le nombre d’éléments contenus.

Par exemple, déclarons la matrice suivante :...

En résumé

  • Dans certains cas, un tableau permet de rendre un programme plus facilement maintenable.

  • Il est possible de parcourir un tableau à l’aide d’une boucle for.

  • Il existe des tableaux spécifiques pour stocker des primitives.

  • Il est possible de créer des tableaux avec plusieurs dimensions.