Travailler avec un tableau d'objets

           

L'exemple suivant a pour objectif de montrer comment manipuler un tableau d'objets, ici un tableau de Compte. La classe Compte a été défini dans une page précédente, voici le fichier Compte.java. On y utilise une boucle for pour laquelle vous pouvez trouver des explications en cliquant sur le lien dans le programme et en y regardant ce qui concerne le second type.


 class TableauD {
  public static void main(String[] arg) {
    Compte[] tableau ;
    int i;

    tableau = new Compte[3];
    tableau[0] = new Compte("Marie", 1, 200);
    tableau[1] = new Compte("Sophie", 2, 120);
    tableau[2] = new Compte("Gaston", 3, 300);
    for (Compte compte : tableau)   System.out.println(tableau[i]);

    tableau[1].modifier(40); 
    System.out.println(tableau[1]);
  }
}
L'instruction :
    Compte[] tableau;
déclare que tableau est de type Compte[], c'est-à-dire destiné à être la référence d'un tableau de Compte(s).
L'instruction :
    tableau = new Compte[3];
construit un tableau pour trois variables de type Compte, c'est-à-dire pour trois variables destinées à référencer des Compte(s). Mais, pour l'instant, aucun Compte n'est construit.

Les trois lignes suivantes du programme instancie à trois reprises la classe Compte, créant ainsi Compte(s) en Compte[0], Compte[1] et Compte[2].

L'instruction :
    tableau[1].modifier(40); utilise la méthode modifier de la classe Compte pour modifier le Compte qui se trouve en tableau[1].

On obtient à l'exécution :

Compte numero 1 : proprietaire Marie, montant 200
Compte numero 2 : proprietaire Sophie, montant 120
Compte numero 3 : proprietaire Gaston, montant 300
Compte numero 2 : proprietaire Sophie, montant 160

En général, on privilégiera de construire un ArrayList d'objets plutôt qu'un tableau de ces mêmes objets. En effet, un ArrayList dispose d'un ensemble de fonctionnalités qui peuvent faire défaut pour les tableaux. En particulier, un ArrayList s'agrandit au fur et à mesure de l'ajout d'éléments dans la liste alors que,pour un tableau, il faut souvent gérer le cas où ce tableau deviendrait plein alors qu'on voudrait y ajouter un élément.

Pour accéder au fichier TableauD.java

©Irène Charon Télécom ParisTech 2010