2 Tableaux
Déclaration et initialisation
Les tableaux constituent une première méthode pour collectionner des objets.
/*declaration de t comme tableau de int : */
int[] t;
/*declaration de t2 comme tableau de int : */
int t2[];
/*declaration de t3,t4 comme tableaux de int : */
int[] t3,t4;
/*declaration de t5,t6 comme tableaux de int : */
int t5[],t6[];
/*De la meme manière, pour tous les cas précédent, il est possible de faire la décalaration de tableau d'objets de meme type*/
Facture[] f;
Là encore, déclaration ne vaut pas création. Création de tableau :
int n=7;
int t[]=new int[n];
int m=8;
Facture[] f;
f=new Facture[m];
Pour l'initialisation, on fournir une liste de valeurs :
int n,p;
...
int t[]={1,n,n+p,2*p,12};
L'instruction précédente crée un tableau de 5 entiers ayant les valeurs des expressions mentionnées, elle remplace les instructions suivantes :
int n,p,t[];
...
t=new int[5];
t[0]=1;t[1]=n;t[2]=n+p;t[3]=2*p;t[4]=12;
Utilisation de tableaux-accès individuel
On peut manipuler un élement de tableau comme on le ferait avec n'importe quelle variable ou n'importe quel objet du type de ses élements. On désigne
un élement particulei en plaçant entre crochets, à la suite du nom du tableau, une expression entière nommée indice indiquant sa position.
Le premier élement correspond à l'indice 0
int[] t=new int[5];
...
t[0]=15;//place la valeur 15 dans le premier élement du tableau t.
...
t[2]++;//incrémente de 1 le troisième élement de t.
...
Utilisation de tableaux-affectation de tableaux
Java permet également de manipuler globalement des tableaux, par le biais d'affectation de leur réferences.
int[] t1=new int[3];
for(int i=0;i<3;i++)
{
t1[i]=i;
}
int[] t2=new int[2];
for(int i=0;i<2;i++)
{
t2[i]=10+i;
}
t1=t2;/*Affectation du tableau t2 au tableau t1*/
t1[1]=5;
System.out.println(t2[1]);
Ce code affiche la valeur 5 et non 10 !
Utilisation de tableaux-affectation de tableaux
On peut récupérer la taille d'un tableau : ceci permet ensuite un traitement automatique par des fonctions de tableaux de tailles diverses :
public void afficheTailleTableau(int[] t)
{
System.out.println(t.length);
}
Tableaux d'objets
On peut manipuler nos objets de type Facture dans le cadre de tableaux :
Facture[] tab=new Facture[3];
tab[0]=new Facture(5,7);
tab[0].calcMontant();
Facture f=new Facture(1,1);
tab[2]=f.calcMontant();
System.out.println(tab[0].montant);/*Affiche 35*/
System.out.println(tab[1]);/*Affiche null*/
System.out.println(tab[2].montant);/*Affiche 1*/
Tableaux en arguments de retour
Une fonction peut avoir comme type de retour un tableau.<
int[] notes=new int[59];
public int[] renvoiNotes()
{
return this.notes;
}
Tableaux à plusieurs indices
Java travaille avec des tableaux de tableaux : ie des tableaux dont les élements sont des tableaux.
Pour un tableau à deux dimensions, des déclarations équivalentes :
int t[][];
int[]t[];
int [][]t;
Soit l'initialisation :
int t[][]=new int[2][];
int[] t1=new int[3];
int[] t2=new int[2];
t[0]=t1;
t[1]=t2;
Dans ce cas, t.length vaut 2, t[0].length vaut 3 et t[1].length vaut 2.
Pour avoir l'équivalent d'une matrice, ie une collection de tableaux de même taille :
int[][] t=new int[3][2];