Définition et Concepts Fondamentaux
En programmation, un tableau est une structure de données permettant de stocker une collection d'éléments de même type dans un bloc de mémoire contigu. Cette organisation garantit une gestion efficace des données indexées.
- Élément : Chaque emplacement mémoire réservé au sein du tableau agit comme une variable individuelle.
- Index (Indice) : Il s'agit d'un entier utilisé pour accéder à un élément spécifique. En Java, l'indexation commence toujours à 0. Le nom du tableau pointe vers l'adresse de départ de l'espace mémoire alloué.
- Taille (Length) : La propriété
lengthpermet de récupérer le nombre total d'emplacements alloués. Attention, cela représente la capacité totale et non nécessairement le nombre d'éléments effectivement remplis.
// Exemple d'assignation par index
scores[0] = 85; // Premier élément (index 0)
scores[1] = 92; // Deuxième élément (index 1)
// Accès à la dimension
int capacite = scores.length;
Déclaration et Allocation Mémoire
Le processus de création d'un tableau suit des règles strictes en Java :
- La déclaration réserve le nom et définit le type de données (primitif ou objet).
- L'utilisation du mot-clé
newest indispensable pour allouer physiquement l'espace en mémoire. - Une fois l'espace alloué, les éléments reçoivent une valeur par défaut (0 pour les types numériques,
falsepour les booléens, etnullpour les objets comme String).
// Déclaration simple
double[] temperatures;
// Déclaration avec allocation immédiate
int[] identifiants = new int[10];
Caractéristiques Principales
- Dimension Fixe : La taille d'un tableau est immuable une fois définie. Il est impossible d'ajouter ou de supprimer dynamiquement des cellules sans créer un nouveau tableau.
- Homogénéité : Tous les éléments doivent impérativement appartenir au même type de données.
- Performance : L'accès aux données est extrêmement rapide (complexité O(1)) via l'index, tandis que l'insertion ou la suppression au milieu du tableau est coûteuse en ressources.
Syntaxe d'Initialisation
Tableaux Unidimensionnels
Il existe deux approches pour initialiser un tableau :
// Initialisation statique (les valeurs sont connues d'avance)
String[] categories = new String[]{"Admin", "User", "Guest"};
int[] coefficients = {1, 5, 10, 20};
// Initialisation dynamique (on réserve l'espace pour remplissage ultérieur)
float[] mesures = new float[50];
Tableaux Multidimensionnels
Les tableaux à plusieurs dimensions (souvent appelés matrices) sont essentiellement des tableaux de tableaux.
// Syntaxe de définition
int[][] matriceDonnees;
// Initialisation statique d'une matrice 2D
int[][] grille = {
{10, 20, 30},
{40, 50, 60}
};
// Initialisation dynamique (Lignes x Colonnes)
int[][] plan = new int[3][4];