Les tableaux en Java

Qu'est-ce qu'un tableau ?

Un tableau (array en anglais) est une structure de données qui permet, par un rassemblement d'espaces mémoire contigus, de stocker une série de valeurs de même type.
L'accès aux valeurs stockées dans le tableau se fait à l'aide d'un indice (un entier), partant de zéro, jusqu'à la valeur "nombre d'espaces moins un".

Inhoudsopgave Haut

Déclaration de tableau en Java

La méthode de déclaration est identique à celle d'une variable, mais les crochets permettent de spécifier le nombre d'éléments du tableau.
Les crochets sont cependant obligatoires, même si aucune valeur n'est spécifiée, car ils indiquent qu'il s'agit d'un tableau.

Syntaxe de déclaration de tableau en Java

Déclaration d'un tableau nommé t, qui contiendra des entiers :

int []t;

Syntaxe alternative (correcte, mais moins utilisée) :

int t[];

int est le type des élément du tableau. Un tableau ne peut être composé que d'un seul type d'élément, et il n'est pas question de mélanger par exemple des entiers et des flottants.
t est le nom que l'on attribue au tableau, nom qui peut être plus explicite (exemple: int []monTableau).

Inhoudsopgave Haut

Initialisation de tableau en Java

Nous avons déclaré un tableau "t" qui contiendra des entiers, mais aucun espace mémoire ne lui est encore attribué. Si nous désirons créer le tableau, nous devons réserver l'espace mémoire nécessaire, et signaler le nombre d'éléments que le tableau contiendra (car l'espace en mémoire sera contigu, et il ne sera plus question ensuite de modifier sa taille).

Exemple d'initialisation d'un tableau en Java


t = new int[10];

La syntaxe complète est donc :

Syntaxe d'initialisation d'un tableau en Java


type []nomDuTableau = new typeElement[tailleDuTableau];

Inhoudsopgave Haut

Exemples de tableaux en Java

  1. //Déclaration d'un tableau de 3 entiers
  2. int tableau = new int[3];
  3. /*
  4. Affectation de la valeur 4
  5. au premier élément du tableau
  6. */
  7. tableau[0] = 4;
  8. /*
  9. Affectation de la valeur d'une variable
  10. au deuxi�me élément du tableau
  11. */
  12. int monEntier = 5;
  13. tableau[1] = monEntier;
  14. /*
  15. Affectation du résultat d'une opération
  16. au troisi�me élément du tableau
  17. */
  18. tableau[2] = tableau[0] - 1;
  19. /*
  20. Déclaration d'un tableau, initialisation,
  21. et affectations
  22. */
  23. String personnes[5] = {"Focas","Mortimer","Septimus","Miloch","Labrousse"};
  24. /*
  25. Le tableau est initialisé � sa création
  26. Il n'est donc pas impératif de spécifier sa taille
  27. */
  28. String titres[] = {"Le secret de l'espadon", "Le pi�ge diabolique"};

Inhoudsopgave Haut

Parcourir les éléments du tableau

Il est souvent nécessaire de parcourir les différents éléments du tableau un à un, afin de leur affecter une valeur, ou de les afficher, les comparer, etc.
L'utilisation de la boucle for répond très bien à ce genre de demande. En effet, il est possible de déterminer par élément nous allons débuter, ensuite jusqu'à quel élément nous parcourons le tableau, et de quelle manière, puis enfin les instructions que nous désirons appliquer à ces éléments.

Vous pouvez revoir les boucles for dans la partie initiation à la programmation.

  1. /* début du programme */
  2. for (k=0;k<nmax;k++){
  3. //instruction(s);
  4. }
  5. /* suite du programme... */

k=0;

C'est depuis le premier élément (adresse 0) du tableau que nous travaillons.

k<nmax;

Dans ce cas, les instructions sont appliquées jusqu'au dernier élément, et nous nous préservons de déborder de l'espace mémoire alloué au tableau.

k++;

Post incrémentation du compteur k, ce qui nous permet d'envisager les éléments un à un.

OutofBoundException

Il faut impérativement vérifier que l'on n'écrase pas de code au delà des limites du tableau. Il est donc possible de déterminer une valeur nmax qui représente le nombre d'emplacements mémoire du tableau, et de contrôler que l'index de la valeur à traiter dans le tableau ne soit pas supérieur à nmax-1.

Nederlandse vertaling

U hebt gevraagd om deze site in het Nederlands te bezoeken. Voor nu wordt alleen de interface vertaald, maar nog niet alle inhoud.

Als je me wilt helpen met vertalingen, is je bijdrage welkom. Het enige dat u hoeft te doen, is u op de site registreren en mij een bericht sturen waarin u wordt gevraagd om u toe te voegen aan de groep vertalers, zodat u de gewenste pagina's kunt vertalen. Een link onderaan elke vertaalde pagina geeft aan dat u de vertaler bent en heeft een link naar uw profiel.

Bij voorbaat dank.

Document heeft de 07/05/2005 gemaakt, de laatste keer de 26/10/2018 gewijzigd
Bron van het afgedrukte document:https://www.gaudry.be/nl/java-array.html

De infobrol is een persoonlijke site waarvan de inhoud uitsluitend mijn verantwoordelijkheid is. De tekst is beschikbaar onder CreativeCommons-licentie (BY-NC-SA). Meer info op de gebruiksvoorwaarden en de auteur.