À retenir
- L'accès aux données se fait par une clé (souvent un mot) et non par un index numérique.
- Les clés doivent être uniques au sein du tableau.
- C'est une structure extrêmement rapide pour retrouver une information précise sans parcourir toute la liste.
Un tableau associatif est une structure de données qui permet de ranger des informations en les liant à des étiquettes personnalisées appelées clés, au lieu d'utiliser de simples numéros. C'est comme un casier de rangement où chaque tiroir porte un nom précis (par exemple 'Prénom', 'Âge', 'Ville') plutôt qu'un simple numéro de 1 à 10.
Étymologie
Le terme vient de l'idée d'associer une valeur à une clé unique. En informatique, on utilise souvent l'anglicisme map (pour correspondance) ou dictionary (dictionnaire), car le fonctionnement est identique à celui d'un dictionnaire papier où un mot (la clé) est associé à sa définition (la valeur).
Exemples d'usage
- En Python, on l'appelle un dictionnaire :
{'couleur': 'bleu', 'vitesse': 100}. - En JavaScript, on utilise souvent des objets pour ce rôle :
{ utilisateur: 'Marc', statut: 'en ligne' }. - En PHP, on utilise la syntaxe
$tab = ['nom' => 'Dupont'];.
Cas d'usage
On l'utilise partout où les données ont un sens propre : pour stocker les réglages d'un logiciel (langue, volume), les informations d'un profil utilisateur, ou encore pour traduire des codes d'erreur en messages compréhensibles.
Bonnes pratiques
Il est crucial de choisir des clés claires et uniques : si vous utilisez deux fois la même clé, la seconde valeur écrasera généralement la première. Il est aussi recommandé d'utiliser des chaînes de caractères simples pour les clés afin d'éviter toute confusion lors de la relecture du code.
Synonymes
Antonymes
Conseil
Si vous débutez, privilégiez le tableau associatif dès que vous avez besoin de décrire un objet complexe. C'est beaucoup plus facile de lire utilisateur['email'] que utilisateur[4] dans un programme.
Questions fréquentes
Quelle est la différence avec un tableau classique ?
Un tableau classique range les éléments dans l'ordre (0, 1, 2...), alors qu'un tableau associatif les range par nom, peu importe l'ordre.
Peut-on mettre n'importe quoi comme valeur ?
Oui, une valeur peut être un texte, un nombre, ou même un autre tableau.