} 
}
L’affectation par référence peut être la source de nombreux dysfonctionnements imprévus voire plantages. Pour recopier un 
tableau dans un autre, vous avez deux possibilités : 
q Copier via une boucle chaque élément du tableau dans l’autre. 
q Utiliser  une  méthode  (fonction)  appelée  arraycopy  qui  copie  des  éléments  d’un  premier  tableau  vers  un  second 
tableau. 
Les deux cas sont traités dans l’exemple suivant. 
class chap5_tabcopie { 
public static void main(String[] args) { 
int[] t={2,7,9,10,11,14,17,18,20,22}; 
int[] copie; 
int i; 
 
copie=new int[t.length]; 
 
/* méthode 1 : boucle */ 
for(i=0;i  
/* méthode 2 : arraycopy */ 
System.arraycopy(t,0,copie,0,t.length); 
 
System.out.println(t[2]); 
copie[2]=5; 
System.out.println(t[2]); 
} 
}
Java  sait  manipuler  des  tableaux  à  plusieurs  dimensions.  Selon  le  principe  précédent,  le  nom  du  tableau  représente  une 
référence  sur  le  tableau  en  mémoire.  Dans  un  tableau  à  n  dimensions,  chaque  dimension  référence  son  propre  tableau 
indépendant  en  mémoire.  Chaque  indice  de  la  première  dimension  référence  un  tableau  pour  chaque  deuxième  dimension. 
C’est ainsi qu’il est possible que le nombre d’indices de la deuxième dimension (ou de la troisième, quatrième, etc.) ne soit pas 
le même selon l’indice de la première dimension. La suite vous présente quelques éléments pratiques. 
Vous déclarez un tableau à n dimensions en plaçant autant de crochets que de dimensions souhaitées : 
/* deux dimensions */ 
int[][] t1 ; 
int t2[][] ; 
/* trois dimensions */ 
int[][][] t3 ; 
int t4[][][] ;
Pour indiquer le nombre d’éléments, faites comme pour une seule dimension, placez le nombre d’indices entre les crochets : 
t1=new int[5][10] ;
Vous pouvez aussi le faire directement dans la déclaration : 
int[][] t2=new int[6][12] ;
Il est possible de faire varier le nombre d’indices. Imaginez le tableau t2 comme devant stocker les notes de six classes, mais 
que le nombre d’étudiants par classe varie de 17 à 25. Voici comment procéder : 
int[][] t2=new int[6][] 
t2[0]=new int[17] ; 
t2[1]=new int[20] ; 
t2[2]=new int[19] ; 
t2[3]=new int[25]; 
...
Chaque élément de la première dimension référence un tableau de n éléments (la seconde dimension), n pouvant être variable. 
Pour  initialiser  le  contenu  d’un  tableau  avec  des  valeurs  prédéfinies,  comme  pour  un  tableau  à  une  dimension  utilisez  les 
accolades. Seulement ici vous devez imbriquer plusieurs niveaux d’accolades, un niveau par dimension, comme ceci : 
Tableaux à n dimensions
- 5 -
© ENI Editions - All rigths reserved - Jonifar lina
99
Précédent

- 99/220

Suivant