pdf - e-book - archive - github.com

1.7  Tableaux

1.7.1  Déclaration

Un tableau en Java est un objet. Il est nécessaire de le créer par allocation dynamique avec un new en précisant ses dimensions. On note

T[]

le type tableau d’éléments de type T. La taille du tableau n’est précisée qu’à l’instanciation. On déclare un tableau t d’éléments de type T de la façon suivante :

T[] t;

Par exemple, si l’on souhaite créer un tableau i d’éléments de type int, on utilise l’instruction :

int[] i;

1.7.2  Instanciation

Comme un tableau est un objet, il est nécessaire d’instancier pendant l’exécution. On instancie un tableau avec l’instruction

  new T[taille]

Par exemple, si l’on souhaite déclarer et allouer dynamiquement un tableau de 100 entiers, en utilise

int[] i =  new int[100];

1.7.3  Accès aux éléments

On accède aux éléments d’un tableau avec la notation à crochets, par exemple,

int[] t =  new int[100];
for(int i = 0 ; i < 100 ; i++)
 {
          t[i] = 100 - (i + 1);
          System.out.println(t[i]);
        }

On remarque que la variable i est déclarée à l’intérieur de la boucle for, cette façon de déclarer les variables est très utile en Java. Dans l’exemple,

package tableaux;

public class ExempleTableau
{
 public static void main(String[] args)
 {
  final int T = 20;
  int[] t = new int[T];
  for (int i = 0; i < T; i++)
   t[i] = i;
  for (int i = 0; i < T; i++)
   System.out.println(t[i]);
 }
}

Télécharger le fichier

1.7.4  Longueur d’un tableau

Pour connaître la taille d’un tableau on utilise l’attribut length. Par exemple,

int[] t = new int[T];
for (int i = 0 ; i < t.length ; i++)
 t[i] = i;
for (int i = 0 ; i < t.length ; i++)
 System.out.println(t[i]);

1.7.5  Tableaux à plusieurs dimensions

On crée un tableau à plusieurs dimensions (3 par exemple) en juxtaposant plusieurs crochets. Par exemple,

int[][][] t =  new int[2][2][2];
for(int i = 0 ; i < 2 ; i++)
 for(int j = 0 ; i < 2 ; j++)
  for(int k = 0 ; i < 2 ; k++)
                {
                  t[i][j][k] = 100*i + 10*j + k;
                  System.out.println(t[i][j][k]);
                }

Ou encore,

package tableaux;

public class ExempleCubique
{
 public static void main(String[] args)
 {
  final int T = 3;
  int[][][] u = new int[T][T][T];
  for (int i = 0; i < T; i++)
   for (int j = 0; j < T; j++)
    for (int k = 0; k < T; k++)
    {
     u[i][j][k] = 100 * i + 10 * j + k;
     System.out.println(u[i][j][k]);
    }

 }
}

Télécharger le fichier