Structure et Utilisation des Collections et Maps en Java

Compréhension des Collections et leurs Avantages

Les tableaux présentent certaines limitations :

  1. La taille doit être définie au moment de la création et ne peut pas être modifiée
  2. Tous les éléments doivent être du même type
  3. Ajouter ou supprimer des éléments est complexe

Les collections offrent une solution plus flexible :

  1. Elles peuvent stocker un nombre dynamique d'objets
  2. Elles fournissent des méthodes pratiques comme add, remove, set, get
  3. Les opérations d'ajout/suppression sont simplifiées

Architecture des Collections

Java propose deux grandes catégories de collections :

  1. Collection (collections à une seule valeur)
  2. Map (collections à deux valeurs)

Les interfaces principales :

  • Collection : implémentée par Set et List
  • Map : stocke des paires clé/valeur

Interface Collection et Méthodes Usuelles

Les collections implémentent l'interface Iterable :

public interface Collection <E> extends Iterable <E>

Méthodes principales :

  • add() : ajoute un élément
  • remove() : supprime un élément
  • contains() : vérifie la présence d'un élément
  • size() : retourne le nombre d'éléments
  • isEmpty() : vérifie si la collection est vide
  • clear() : vide la collection

Itération avec Iteraotr

L'itérateur permet de parcourir les collections :

Iterator iterator = collection.iterator();
while(iterator.hasNext()) {
    Object element = iterator.next();
    System.out.println(element);
}

Interface List et Méthodes Spécifiques

List est une sous-interface de Collection :

  • Éléments ordonnés
  • Peut contenir des doublons
  • Accès par index

Méthodes spécifiques :

  • add(index, element) : inseriton à un index spécifique
  • get(index) : récupération par index
  • remove(index) : suppression par index
  • set(index, element) : remplacement par index

Implémentations de List

ArrayList, LinkedList, Vector :

  • ArrayList : tableau dynamique
  • LinkedList : liste doublement chaînée
  • Vector : version synchronisée d'ArrayList

Interface Set et Méthodes

Set garantit l'unicité des éléments :

  • Pas d'ordre défini
  • Pas de duplication
  • Maximum un élément null

HashSet et Mécanismes Internes

HashSet utilise un HashMap sous-jacent :

  • Stockage par table de hachage
  • Gestion des collisions par chaînes
  • Utilise hashCode() et equals()

Map et Méthodes Principales

Les interfaces Map stockent des paires clé/valeur :

  • put(clé, valeur) : ajout/modification
  • get(clé) : récupération
  • remove(clé) : suppression
  • keySet() : ensemble des clés
  • entrySet() : ensemble des paires

Implémentations de Map

  • HashMap : implémentation standard
  • Hashtable : synchronisée
  • Properties : gestion des fichiers de configuration

Classes Utilitaires

Collections fournit des méthodes statiques :

  • sort() : tri
  • reverse() : inversion
  • shuffle() : mélange aléatoire
  • max()/min() : recehrche extrêmes
  • replaceAll() : remplacement

Choix des Implémentations

Le choix dépend des besoins :

  • Recherche fréquente : ArrayList
  • Insertions/suppressions fréquentes : LinkedList
  • Ordre d'insertion important : LinkedHashSet
  • Clés triées : TreeMap

Étiquettes: Java collection map Set List

Publié le 26 août à 04h09