Les collections
14 min · Intermédiaire · 3 octobre 2026
ArrayList : une liste de taille variable
import java.util.ArrayList;
ArrayList<String> fruits = new ArrayList<>();
fruits.add("pomme");
fruits.add("banane");
fruits.add("cerise");
System.out.println(fruits.get(0)); // "pomme"
System.out.println(fruits.size()); // 3
fruits.remove("banane");
System.out.println(fruits); // [pomme, cerise] Contrairement à un tableau, .size() (pas .length) donne le nombre d’éléments, et .add()/.remove() modifient la taille dynamiquement.
Info
ArrayList<Integer> stocke des objets Integer, pas des int primitifs directement. Java effectue automatiquement la conversion (autoboxing) entre les deux lors de l’ajout ou de la lecture.
HashMap : des paires clé/valeur
import java.util.HashMap;
HashMap<String, Integer> ages = new HashMap<>();
ages.put("Alice", 25);
ages.put("Bob", 30);
System.out.println(ages.get("Alice")); // 25
System.out.println(ages.containsKey("Bob")); // true
System.out.println(ages.getOrDefault("Zoe", 0)); // 0, Zoe absente .getOrDefault() évite une erreur si la clé n’existe pas, en renvoyant une valeur de repli, l’équivalent du .get() avec valeur par défaut de Python.
Parcourir une HashMap
for (String nom : ages.keySet()) {
System.out.println(nom + " a " + ages.get(nom) + " ans.");
}
// "Alice a 25 ans."
// "Bob a 30 ans." .keySet() renvoie l’ensemble des clés, qu’on peut ensuite parcourir pour accéder à chaque valeur associée.
À toi de jouer
import java.util.ArrayList;
ArrayList<Integer> nombres = new ArrayList<>();
nombres.add(10);
nombres.add(20);
nombres.add(30);
int somme = 0;
for (int n : nombres) {
somme += n;
}
System.out.println(somme);