mercredi 17 décembre 2014

Les matrices Java

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

Avant-première

Maintenant préparez vos lunettes 3D car… on va bientôt rentrer dans la troisième dimension !!