Structures de données Java : Exploration des classes de base et Collections Framework
Les structures de données du package utilitaire Java sont puissantes et couvrent de nombreuses fonctions. Elles incluent les interfaces et classes suivantes (héritées, legacy) :
EnumerationBitSetVectorStackDictionaryHashtableProperties
Toutes ces classes sont maintenant legacy. Java 2 a introduit le Collections Framework, détaillé au chapitre suivant.
Enumeration
Pas une structure de données en soi, mais essentielle pour parcourir d'autres structures. Définit comment récupérer les éléments successivement.
Méthode clé : nextElement() pour obtenir l'élément suivant.
BitSet
Groupe de bits/drapeaux manipulables individuellement (set/clear). Utile pour ensembles de valeurs booléennes : un bit par valeur.
Vector
Similaire à un tableau Java, mais redimensionnable. Accès par index. Taille automatique (croît/décroît selon besoins).
Stack
Implémente une pile LIFO (Last-In-First-Out). Ajout = empile au sommet. Retrait = dépile du sommet. Le dernier ajouté est le premier retiré.
Dictionary
Classe abstraite définissant une structure clé-valeur. Utile pour accéder aux données via une clé (pas un index). Fournit le cadre, pas d'implémentation concrète.
Hashtable
Organise les données selon une structure de clés définie par l'utilisateur. Ex: annuaire avec code postal comme clé au lieu du nom. Le sens des clés dépend de l'usage.
Properties
Sous-classe de Hashtable. Clés et valeurs sont des String. Utilisée par d'autres classes Java (ex: System.getProperties() pour les variables d'environnement).
Note : Pour les versions modernes, privilégiez le Collections Framework (ArrayList, HashMap, HashSet, etc.) qui offre de meilleures performances, génériques, et API unifiée.
Java
- Comprendre le mot-clé final en Java : variables, méthodes et classes
- L'opérateur instanceof en Java : guide complet
- Maîtriser l'encapsulation Java : guide pratique pour le masquage de données
- Comprendre les classes imbriquées statiques en Java : utilisation, différences et exemples
- Maîtriser les classes internes anonymes en Java : définition, syntaxe et exemples pratiques
- Le pattern Singleton en Java expliqué : implémentation et utilisation sûre
- Maîtriser la réflexion Java : inspection des classes, méthodes et champs à l'exécution
- Maîtriser Java ObjectOutputStream : Sérialisation, méthodes et exemples pratiques
- Maîtriser les génériques Java : Construire du code réutilisable et type-safe