[MUSIQUE] [MUSIQUE] Bonjour à tous. Aujourd'hui, on va s'intéresser à un nouveau type : les tableaux. Que sont les tableaux? Comment les utiliser en Scala? On va voir ça maintenant. Imaginons un cas très simple. Vous êtes un professeur et vous voulez enregistrer toutes les notes de vos étudiants pour pouvoir y faire des statistiques. Avec les connaissances qu'on avait jusqu'à maintenant, vous feriez à chaque fois une nouvelle variable pour enregistrer toutes les notes. Donc vous auriez une note 1, note 2 etc., jusqu'à votre centième étudiant. Ça voudrait dire que vous auriez une centaine de variables qu'il faudrait gérer à chaque fois manuellement. Je donne des notes au hasard. Avec ce type, les tableaux, vous êtes capable de créer des collections de différentes variables. À chaque fois, les variables doivent être du même type, c'est-à -dire que vous pouvez avoir des tableaux du type Int, double etc. Chaque élément à l'intérieur du tableau est sa propre variable, en fait. Prenons un exemple simple. On prend nos différentes notes. Ici 4, 3, toutes les autres, et enfin la centième. Dans ce type, la première information est stockée, vous me direz, dans la cellule 1. Non. Les tableaux commencent à l'index 0. C'est-à -dire que quand vous utilisez un tableau, la première information est stockée à l'index 0. C'est-à -dire que pour avoir le dernier index de votre tableau, c'est votre taille de tableau moins 1. L'index est très important à retenir, comment il fonctionne. C'est de cette façon-là que vous allez pouvoir accéder à chaque information stockée dans toutes les cases du tableau. En Scala, on crée un tableau avec la méthode Array. Elle prend entre parenthèses nos valeurs. Ici on a 4, 3 et 6. Par défaut, il va automatiquement créer le tableau avec le type que vous avez utilisé ici. Vous ne pouvez pas créer de tableau qui utilise différents types. Comment accéder? Comme je vous l'ai dit, on va devoir utiliser l'index pour accéder aux données qui sont stockées à l'intérieur du tableau. Par exemple, si on veut accéder à la variable qui contient 4, on utilisera notre nom de tableau et son index. Ceci sera égal à 4. Si on continue et on prend notre tableau note à l'index 1, il sera égal à 3 etc. Et vous allez me dire : c'est pratique d'enregistrer des informations de cette façon-là . Faut-il à chaque fois utiliser l'index? Non. Nous allons voir ensemble des méthodes qui permettent de parcourir les tableaux plus facilement. Mais juste avant, je vais vous expliquer quelques petites choses qui nous permettent de manipuler les tableaux. Par exemple, quand vous accédez à ces différentes valeurs, vous pouvez les additionner si vous le souhaitez. C'est-à -dire que vous pouvez faire note (0) plus note (1), ça nous fait 7. Cette information-là c'est bien le calcul, la somme de ce qu'on a à l'index 0 et à l'index 1. Voyons maintenant comment parcourir les tableaux. Vous allez me dire : si à chaque fois, comme je le disais précédemment, il faut spécifier l'index pour accéder à la variable du tableau, ça va prendre énormément de temps. Vous pouvez utiliser la boucle for qui va nous permettre de parcourir le tableau. La boucle for, vous l'avez vue plusieurs fois. Pour parcourir le tableau, elle se compose à chaque fois de la variable, de la donnée contenue dans le tableau. Vous pouvez la nommer x par exemple. Et en utilisant une flèche, vous allez pouvoir dire que vous souhaitez que note, que les informations qui sont contenues dans votre tableau, que chaque cellule de votre tableau prenne la valeur x. Et bien sûr, étant donné que c'est une boucle, x va changer à chaque passage dans la boucle. Mais attention, x sera valable uniquement, toutes les informations stockées dans les cellules à chaque passage de boucle, uniquement dans la partie qui sera dans la boucle for. Vous pouvez utiliser cette boucle for aussi pour filtrer les informations de votre tableau. C'est-à -dire que for avec le même format, x prendra les valeurs de note, mais ici, vous pouvez lui dire que vous voulez que uniquement, donc if, si les valeurs sont supérieures à 4, puis ensuite vos accolades. C'est-à -dire qu'ici, la seule valeur de notre tableau Array qu'on a vu ici précédemment, qui sera disponible dans nos accolades, dans notre bloc d'instructions, ce sera 6. Les tableaux sont capables de beaucoup de choses. Par exemple, vous pouvez concaténer deux tableaux. On peut prendre un tableau de notes avec lesquelles on travaille. On peut concaténer avec l'opérateur plus plus. C'est-à -dire qu'ici, note plus note vaudra 4, 3, 6, 4, 3, 6. Il est possible de redéfinir un tableau et d'ajouter de nouveaux éléments à ce tableau que vous redéfinissez. Par exemple, ici notre tableau Array (4, 3, 6), on veut lui ajouter la valeur 7. Pour ça, on utilise l'opérateur deux-points, plus et 7. Que va-t-il se passer ici? Ici, on va redéfinir la variable note, c'est-à -dire que ce qu'il y avait là , ça va être réutilisé pour réenregistrer 4, 3, 6, et le 7 ajouté par la suite. Dans les tableaux en général, quand vous avez énormément d'éléments à insérer, on utilise d'autres méthodes qui permettent de pré-remplir les tableaux et de les initialiser à des valeurs nulles, par exemple comme 0. Une de ces méthodes qui nous permet de créer un tableau s'appelle fill, F-I-L-L. Encore une fois, c'est une variable. On imagine qu'on crée encore une fois un tableau note. Et cette fois-ci, on sait que l'année d'avant on avait 100 étudiants, peut-être que l'année d'après on en aura plus ou moins, mais on sait que dans tous les cas, le cours ne peut pas avoir plus de 200 étudiants. Donc la taille maximale de notre tableau ici sera 200. La méthode fill ici présente prend deux arguments. Le premier est la taille, donc ici 200, et ensuite elle prend la valeur dont toutes les cellules seront initialisées. C'est-à -dire que dans note ici, vous aurez un tableau de taille 200, et dans chaque cellule vous aurez la valeur que vous allez mettre ici. On va prendre 0. Et donc si on imagine ce tableau note, à quoi il ressemble? Notre index, [AUDIO_VIDE] encore une fois, le dernier index disponible c'est la taille du tableau moins 1, le tableau sera entièrement rempli de zéros. Nous venons de voir ensemble les tableaux en Scala, leur utilité, comment les parcourir avec la boucle for, comment y insérer des informations, comment les redéfinir si besoin il y a, comment les initialiser de deux façons différentes, soit directement en utilisant les données qu'ils vont contenir, ou en les initialisant avec une valeur nulle, comme ici avec la méthode fill. Vous allez retrouver dans le notebook qui suit cette vidéo des informations complémentaires sur comment utiliser les tableaux. [MUSIQUE]