Les tableaux de tableaux
Après avoir vu les
premiers tableaux, on peut enfin enclencher la deuxième vitesse. Les tableaux vus auparavant sont des tableaux particuliers: ils sont souvent
appelé « vecteurs » et leur caractéristique est de posséder une seule
dimension. Ils sont assimilables à une rangée, une ligne, une file.
Plan des places du Théâtre Moulin 9 |
Schéma double
Dans la vie de tous les jours, on a souvent
besoin de structurer l’information selon un schéma à deux dimensions, composé
par exemple, de lignes et de colonnes. Pour définir les places d’un cinéma ou
d’un théâtre, on peut numéroter les files, et pour chacune, on peut numéroter les
sièges. Ainsi, pour trouver une place, on commencera à chercher d’abord la file
(la ligne) et ensuite la colonne.
Ce schéma peut être assimilé à une simple grille, à un quadrillage et, en programmation, peut
être modélisé comme un tableau d’un tableau. Il s’agit d’une
« matrice », le tableau à deux dimensions.
Autres exemples d'utilisation
Les feuilles Excel sont des matrices; les cartes géographiques,
avec leurs coordonnées, latitudes et longitudes, sont des matrices; et
encore, les grilles du sudoku, les échiquiers, les plateaux de jeux de la bataille
navale, sont des matrices.
Rappels
Les règles des tableaux s'appliquent aux matrices, tout comme aux vecteurs :
- Une matrice est une variable contenant plusieurs données d'un même type
- La taille est fixée par l’opérateur new
- Il n’est plus possible de modifier la taille en cours d’exécution
- Les index sont numérotés à partir de zéro
Déclaration
Dans le langage Java, pour déclarer un tableau, il faut ajouter des crochets [ ] à la variable ou à son type de déclaration. Si pour un vecteur, le tableau à une dimension, il faut ajouter une paire de crochets [ ], pour une matrice, le tableau à deux dimensions, il faut en ajouter deux paires [ ][ ].
Une matrice de type nombre entier est déclarée de
la façon suivante :
int matrice[][] = new int [6][5];
La matrice ci-dessus peut contenir jusqu'à 30 nombres entiers (6 x 5):
Exemple de matrice |
Manipulation
Si pour manipuler un vecteur on va utiliser une boucle, pour manipuler
les matrices on va se servir des boucles imbriquées : une boucle pour
chaque dimension.
Voici un petit exemple: une méthode pour afficher dans la console java le contenu d'une matrice de nombres entiers.
// Afficher la matrice de int passé en paramètre public static void afficheMatrice(int matrice[][]){ // Boucle toutes les lignes for (int ligne=0; ligne
A noter l'utilisation de la méthode <length> de la matrice:
- < matrice.length> retourne le nombre de lignes
- <matrice[ligne].length> retourne le nombre de colonnes