Les tableaux sont presque des objets, presque car mais ils n’ont pas
vraiment de classe, tout se passe plus ou moins comme si, pour chaque
type type, un type des tableaux dont
les éléments sont de type type tombait du ciel.
Ce type des tableaux dont les éléments sont de type
type, se note (comme dans le langage C) « type[]
».
En particulier on a :
Les tableaux « à plusieurs dimensions » ou matrices, n’existent pas en tant que tels, ce sont en fait des tableaux de tableaux.
Contrairement à bien des langages, il est possible en Java, de fabriquer des tableaux directement. On distingue:
new
type [
taille]
, où
type est le type des éléments du tableau et taille
la taille du tableau. Par exemple, pour déclarer et initialiser un
tableau t de trois entiers, et un tableau ts de
trois chaînes, on écrit :
false
pour les booléens, et
null
pour les objets.
C’est exactement le même principe que pour les variables de classes
et d’instance initialisées par défaut
(voir B.3.3).
Ainsi les deux déclarations ci-dessus produisent l’état mémoire
simplifié
La notation par constructeur s’applique aussi aux tableaux de tableaux.
null
nous donne.
{
e1,
e2,
…
en}
», où les ei sont des
expressions du type des éléments du tableau.
Par exemple, pour déclarer et initialiser le
tableau ti des seize premiers entiers, on écrira :
tj[0]
est le tableau {1,2}
et
tj[1]
est le tableau {3}
.
Notons au passage l’existence du tableau vide (tableau à zéro case)
{}
à ne pas confondre avec null
.new int [] {1,2}
et new int [] [] {{1,2}, {3}}
sont des valeurs tableaux.
Il y a deux opérations primitives :
[
ei]
,
où t est le tableau et ei une expression de
type entier. Attention, les indices commencent à zéro.
.length
.
La classe de bibliothèque Arrays (package java.util) fournit quelques méthodes toutes statiques qui opèrent sur les tableaux, et notamment des tris.