Skip Navigation Links
Accueil
Java Standard EditionExpand Java Standard Edition
Java EE 5Expand Java EE 5
Visual Basic .Net 2005Expand Visual Basic .Net 2005
Visual C++ .Net 2005Expand Visual C++ .Net 2005
Visual C# .Net 2005Expand Visual C# .Net 2005
Cours ASP .Net 2.0Expand Cours ASP .Net 2.0
PostgresqlExpand Postgresql
LinuxExpand Linux
Visual Studio 2008Expand Visual Studio 2008
ASP 3.0 ClassiqueExpand ASP 3.0 Classique
Cours Javascript - DOM - DHTMLExpand Cours Javascript - DOM - DHTML
Cours AjaxExpand Cours Ajax
VBAExpand VBA
AssembleurExpand Assembleur
PerlExpand Perl
MembresExpand Membres
L'auteur du site
Nouveautés sur le site
Contacts
Plan du site
Accueil > Java Standard Edition > Les tableaux
____________________________________________________________________________________________________
Connexion

Java - Les tableaux

Sommaire :

I) Définition
II) Déclaration d'un tableau
III) Généralités
IV) Les tableaux à plusieurs dimensions
V) Téléchargement du projet d'exemple

I) Définition

Les tableaux en java sont des objets. C'est comme si nous disposions d'une classe Tableau, qui serait générique, mais qui s'appellerait [] au lieu de Tableau. Et c'est une classe à laquelle on ne peut pas accéder comme les autres.

II) Déclaration d'un tableau

Remarque: on peut écrire aussi (les crochets après) pour déclarer un tableau.

En tapant monTab. sous Eclipse, suivi de Ctrl+Espace, on aperçoit toutes les propriétés de la classe Object( ce qui prouve bien que le tableau est un objet), plus la méthode clone(), et l'attribut length.

ON NE PEUT PAS ECRIRE String tab[10]; ==> ERREUR COMPILATION
Ceci est logique: un tableau est bien un objet, on ne peut l'instancier qu'avec l'opérateur new.

III) Généralités

- Comme les tableaux sont alloués dynamiquement, ne serait-ce que par l'équivalence avec un new Tableau(100) ( le 100 ici est un paramètre du constructeur), on peut écrire une expression du genre monTab = new String[monCalcul]; avec monCalcul en int.

- Tous les éléments d'un tableau doivent être du même type. D'où la déclaration String monTab[];
- Les éléments d'un tableau peuvent être d'un type primitif ou objet.
- On définit la taille du tableau quand on le crée. Et on ne pourra plus changer sa taille par la suite.
- Le fait que le tableau soit un objet, vient apporter des fonctionnalités aux tableaux, comme le contrôle d'accès dans les limites du tableau( qui permet d'être sûr qu'on n'écrira pas dans des zones mémoires de manière involontaire).
- Quand on crée un tableau, les éléments sont initialisés à 0 pour les entiers, ou à null pour les objets, ou encore à false pour les booléens.
- Les indexs sont des entiers, et à partir de 0
- On peut initialiser le tableau à l'aide d'une liste statique d'initialisation, comme en langage C. Par exemple:
ou encore:

IV) Les tableaux à plusieurs dimensions

Il est possible de faire des tableaux à plusieurs dimensions. Ils sont implémentés sous forme de tableaux de tableaux. On peut utiliser autant de dimensions qu'on veut.

Exemple:
C'est un tableau de int[], un tableau de tableau d'entier. C'est à dire un tableau contenant des objets qui sont des tableaux d'entiers.
: ici c'est un tableau contenant des objets qui sont des tableaux de int[], c'est à dire toujours un tableau contenant des objets qui sont des tableaux.
Quelque soit le nombre de dimensions, à partir de deux dimensions, on a toujours un tableau contenant des objets qui sont des tableaux, par conséquent on a toujours un tableau classique.

On peut faire également une liste statique d'initialisation pour les tableaux de tableaux:
C'est un tableau de tableaux d'entiers. Les tableaux dans le tableau sont de tailles différentes, ce qui est possible: on voit bien ici qu'un tableau multidimensionnel est vraiment un tableau de tableau. Ici, c'est un tableau contenant des objets tableaux. Comme les objets tableaux contiennent leur taille, on peut mettre des tableaux de taille différente.

Autre exemple:
En faisant monTab = new int[3][];, on crée le tableau monTab, qui sera un tableau de taille 3, et pouvant contenir des tableaux d'entiers. Seul la dimension du tableau principal est nécessaire pour pouvoir le créer!
Puis, dans les lignes suivantes, on crée chaque objet tableau, qui seront dans le tableau principal. Comme vu ci-dessus, les tableaux à l'intérieur du tableau principal, peuvent avoir des longueurs différentes les uns les autres.

V) Téléchargement du projet d'exemple

Projet d'exemple, V1.1

RETOUR HAUT