Tableaux et collections en Java : guide complet pour débutants — partie 1
L'apprentissage de Java est impossible sans comprendre comment stocker et gérer des groupes de données. Dans cet article, nous allons aborder deux sujets fondamentaux : les tableaux et les collections. Il s'agit de la première partie d'un guide complet, adaptée à un apprentissage depuis zéro et qui aidera à systématiser les connaissances en programmation Java.
Que sont les tableaux en Java ?
Un tableau est une structure de données de longueur fixe qui stocke des éléments d'un même type. Les tableaux sont la base du Java pour débutants, car ils sont simples et rapides. Cependant, leur principal inconvénient est que leur taille ne peut pas être modifiée après la création.
Déclaration et initialisation d'un tableau
En Java, un tableau se déclare à l'aide de crochets. Voici la syntaxe de base :
int[] numbers = new int[5]; // tableau de 5 entiersString[] names = {"Anna", "Boris", "Victor"}; // initialisation littéraleAccès aux éléments et longueur du tableau
L'indexation commence à 0. La longueur du tableau est stockée dans la propriété length :
int first = numbers[0];int size = numbers.length; // 5Boucles pour travailler avec les tableaux
Pour parcourir les éléments, il est pratique d'utiliser for ou for-each :
for (int i = 0; i < numbers.length; i++) { System.out.println(numbers[i]);}
for (int num : numbers) { System.out.println(num);}Tableaux multidimensionnels
Java prend en charge les tableaux de tableaux. Par exemple, un tableau à deux dimensions est un tableau :
int[][] matrix = new int[3][4]; // 3 lignes, 4 colonnesmatrix[1][2] = 42;Les tableaux multidimensionnels sont utiles pour les matrices, les plateaux de jeu et les images.
Collections en Java : une alternative flexible
Les collections sont des structures de données dynamiques issues du Java Collections Framework (JCF). Elles résolvent le problème principal des tableaux : elles s'agrandissent et se réduisent automatiquement. Pour la programmation Java, les collections sont un must-have.
Interfaces principales des collections
- List — liste ordonnée avec doublons (ArrayList, LinkedList).
- Set — ensemble sans doublons (HashSet, TreeSet).
- Map — dictionnaire : clé → valeur (HashMap, TreeMap).
ArrayList : tableau dynamique
Le type de collection le plus populaire. Exemple d'utilisation :
import java.util.ArrayList;
ArrayList<String> list = new ArrayList<>();list.add("Java");list.add("Python");list.add("C++");System.out.println(list.get(0)); // JavaSystem.out.println(list.size()); // 3HashSet : éléments uniques
Utilisez Set lorsque vous devez exclure les doublons :
import java.util.HashSet;
HashSet<Integer> set = new HashSet<>();set.add(10);set.add(20);set.add(10); // ne sera pas ajoutéSystem.out.println(set.size()); // 2HashMap : paires clé-valeur
Idéal pour une recherche rapide :
import java.util.HashMap;
HashMap<String, Integer> map = new HashMap<>();map.put("Alice", 25);map.put("Bob", 30);System.out.println(map.get("Alice")); // 25Quand utiliser les tableaux et quand utiliser les collections ?
Le choix dépend de la tâche :
- Tableaux — si la taille est fixe, si une performance maximale est nécessaire ou si vous travaillez avec des primitifs.
- Collections — si les données changent dynamiquement, si l'unicité, le tri ou la recherche par clé sont nécessaires.
Pour l'apprentissage de Java, il est recommandé de commencer par les tableaux, puis de passer aux collections.
Exemple : combinaison de tableaux et de collections
Considérons une tâche : convertir un tableau en liste et vice versa