Aller au contenu

Java — List vs Set vs Map (Collections)

Les collections en Java sont fondamentales. Savoir différencier List, Set et Map est essentiel pour choisir la bonne structure selon le besoin.


1. Idée simple

  • List → collection ordonnée avec doublons
  • Set → collection sans doublons
  • Map → association clé → valeur

2. List

Caractéristiques

  • éléments ordonnés
  • doublons autorisés
  • accès par index

Exemple

List<String> list = new ArrayList<>();
list.add("A");
list.add("A");
list.add("B");

System.out.println(list.get(0)); // A

3. Set

Caractéristiques

  • pas de doublons
  • pas d’ordre garanti (sauf implémentations spécifiques)
  • basé souvent sur un hash

Exemple

Set<String> set = new HashSet<>();
set.add("A");
set.add("A");
set.add("B");

System.out.println(set); // A, B

4. Map

Caractéristiques

  • stocke des paires clé → valeur
  • clé unique
  • accès via clé

Exemple

Map<String, Integer> map = new HashMap<>();
map.put("A", 1);
map.put("B", 2);

System.out.println(map.get("A")); // 1

5. Comparaison rapide

Structure Ordre Doublons Accès
List ✔️ ✔️ index
Set valeur
Map clé unique clé → valeur

6. Quand utiliser ?

  • List → quand l’ordre compte
  • Set → quand tu veux éviter les doublons
  • Map → quand tu veux associer des données

Pièges fréquents

  • croire que Set est ordonné
  • oublier que Map a des clés uniques
  • utiliser List pour vérifier unicité

7. Questions classiques

Q1

List accepte les doublons ? Oui


Q2

Set accepte les doublons ? Non


Q3

Map stocke quoi ? clé → valeur


Q4

accès rapide par clé ? Map


8. À retenir

  • List = ordre + doublons
  • Set = unicité
  • Map = association clé/valeur

🧾 En résumé

  • choisir la bonne collection est crucial
  • impact direct sur performance et logique
  • chaque structure a un usage précis

Une mauvaise structure peut rendre ton code inefficace ou incorrect.


Voir aussi