Utilisation de tableaux en Java

Si un programme doit travailler avec un certain nombre de valeurs du même type de données, vous pouvez déclarer une variable pour chaque nombre. Par exemple, un programme qui affiche les numéros de loterie:

int lotteryNumber1 = 16;
int lotteryNumber2 = 32;
int lotteryNumber3 = 12;
int lotteryNumber4 = 23;
int lotteryNumber5 = 33;
int lotteryNumber6 = 20;

Une manière plus élégante de gérer les valeurs qui peuvent être regroupées consiste à utiliser un tableau. Un tableau est un conteneur qui contient un nombre fixe de valeurs d'un type de données. Dans l'exemple ci-dessus, les numéros de loterie peuvent être regroupés dans un tableau int:

int [] lotteryNumbers = 16,32,12,23,33,20; 

Considérez un tableau comme une rangée de cases. Le nombre de cases dans le tableau ne peut pas changer. Chaque case peut contenir une valeur tant qu'elle est du même type de données que les valeurs contenues dans les autres cases. Vous pouvez regarder à l'intérieur d'une boîte pour voir quelle valeur elle contient ou remplacer le contenu de la boîte par une autre valeur. Lorsque l'on parle de tableaux, les boîtes sont appelées éléments.

Déclaration et initialisation d'un tableau

L'instruction de déclaration pour un tableau est similaire à celle utilisée pour déclarer toute autre variable. Il contient le type de données suivi du nom du tableau - la seule différence est l'inclusion de crochets à côté du type de données:

int [] intArray;
float [] floatArray; 
char [] charArray;

Les instructions de déclaration ci-dessus indiquent au compilateur que

intArray
variable est un tableau de
ints
,
floatArray
est un tableau de
flotteurs
et
charArray
est un tableau de caractères. Comme toute variable, elles ne peuvent pas être utilisées tant qu'elle n'a pas été initialisée en lui affectant une valeur. Pour un tableau, l'affectation d'une valeur à un tableau doit définir la taille d'un tableau:
intArray = new int [10]; 

Le nombre entre parenthèses définit le nombre d'éléments que contient le tableau. L'instruction d'affectation ci-dessus crée un tableau int avec dix éléments. Bien sûr, il n'y a aucune raison pour que la déclaration et la cession ne puissent pas se produire dans une seule instruction:

float [] floatArray = new float [10]; 

Les tableaux ne sont pas limités aux types de données primitifs. Des tableaux d'objets peuvent être créés:

String [] names = new String [5]; 

Utilisation d'un tableau

Une fois qu'un tableau a été initialisé, les éléments peuvent avoir des valeurs qui leur sont attribuées en utilisant l'index du tableau. L'index définit la position de chaque élément du tableau. Le premier élément est à 0, le deuxième élément à 1 et ainsi de suite. Il est important de noter que l'index du premier élément est 0. Il est facile de penser que parce qu'un tableau a dix éléments, l'index va de 1 à 10 au lieu de 0 à 9. Par exemple, si nous revenons à la loterie exemple de nombres, nous pouvons créer un tableau contenant 6 éléments et attribuer les numéros de loterie aux éléments:

int [] lotteryNumbers = new int [6];
lotteryNumbers [0] = 16;
lotteryNumbers [1] = 32;
lotteryNumbers [2] = 12;
lotteryNumbers [3] = 23;
lotteryNumbers [4] = 33;
lotteryNumbers [5] = 20;

Il existe un raccourci pour remplir les éléments d'un tableau en plaçant les valeurs des éléments dans l'instruction de déclaration:

int [] lotteryNumbers = 16,32,12,23,33,20;
String [] names = "John", "James", "Julian", "Jack", "Jonathon";

Les valeurs de chaque élément sont placées à l'intérieur d'une paire de crochets. L'ordre des valeurs détermine à quel élément est affectée la valeur commençant par la position d'index 0. Le nombre d'éléments dans le tableau est déterminé par le nombre de valeurs à l'intérieur des accolades..

Pour obtenir la valeur d'un élément, son index est utilisé:

System.out.println ("La valeur du premier élément est" + lotteryNumbers [0]); 

Pour savoir combien d'éléments un tableau utilise le champ longueur:

System.out.println ("Le tableau lotteryNumbers a" + lotteryNumbers.length + "elements"); 

Remarque: Une erreur courante lors de l'utilisation de la méthode de longueur est d'oublier d'utiliser la valeur de longueur comme position d'index. Cela entraînera toujours une erreur car les positions d'index d'un tableau sont de 0 à la longueur - 1.

Tableaux multidimensionnels

Les tableaux que nous avons examinés jusqu'à présent sont connus sous le nom de tableaux unidimensionnels (ou unidimensionnels). Cela signifie qu'ils n'ont qu'une seule rangée d'éléments. Cependant, les tableaux peuvent avoir plusieurs dimensions. Un multidimensionnel est en fait un tableau qui contient des tableaux:

int [] [] lotteryNumbers = 16,32,12,23,33,20, 34,40,3,11,33,24; 

L'index d'un tableau multidimensionnel se compose de deux nombres:

System.out.println ("La valeur de l'élément 1,4 est" + lotteryNumbers [1] [4]); 

Bien que la longueur des tableaux contenus dans un tableau multidimensionnel ne doive pas nécessairement être la même longueur:

String [] [] names = new String [5] [7]; 

Copie d'un tableau

Pour copier un tableau, le moyen le plus simple consiste à utiliser le

arraycopy
de la classe System. le
arraycopy
La méthode peut être utilisée pour copier tous les éléments d'un tableau ou une sous-section d'entre eux. Cinq paramètres sont passés au
 arraycopy
méthode - le tableau d'origine, la position d'index à partir de laquelle copier un élément, le nouveau tableau, la position d'index à partir de laquelle insérer, le nombre d'éléments à copier:
arraycopy public static void (Object src, int srcPos, Object dest, int destPos, int length) 

Par exemple, pour créer un nouveau tableau contenant les quatre derniers éléments d'un

int 
tableau:
int [] lotteryNumbers = 16,32,12,23,33,20;
int [] newArrayNumbers = new int [4];
System.arraycopy (lotteryNumbers, 2, newArrayNumbers, 0, 4);

Comme les tableaux ont une longueur fixe,

arraycopy
La méthode peut être un moyen utile de modifier la taille d'un tableau.

Pour approfondir vos connaissances sur les tableaux, vous pouvez apprendre à manipuler des tableaux à l'aide de la classe Arrays et à créer des tableaux dynamiques (c'est-à-dire des tableaux lorsque le nombre d'éléments n'est pas un nombre fixe) à l'aide de la classe ArrayList..