Les collections permettent de stocker un nombre variable d'éléments de types identiques ou disparates. Le langage Java dispose de plusieurs classes destinées à créer ce genre d'artifice.
Les collections se démarquent des tableaux dans la mesure ou elles ont la capacité de s'étendre et de diminuer au gré, respectivement, des ajouts et des suppressions d'éléments. Cela permet d'éviter de consommer des ressources mémoires inutilement en initialisant un tableau à une taille prédéfinie en sachant que celui-ci risque de ne pas être totalement rempli lors des différentes étapes d'exécution d'un programme. Dans ce cas, une collection possèdera la faculté d'adapter sa taille à tous changements.
Les classes de gestion de collections se situent dans le paquetage java.util. Il en existe trois sortes :
Type | Classe | Description |
---|---|---|
Les listes | Vector | représente un tableau dynamique dont la taille peut varier. |
Stack | représente un mécanisme de pile de type LIFO. | |
ArrayList | représente un tableau dynamique dont la taille peut varier. | |
LinkedList | représente une liste liée utilisable comme une pile LIFO ou une file FIFO. | |
Les Maps | Hashtable | représente un tableau associatif dont les clés ne peuvent être nulles. |
HashMap | représente un tableau associatif dont une clé et des valeurs peuvent être nulles. | |
WeakHashMap | représente un tableau associatif où si une clé n'est plus référencée, la paire clé-valeur est ignorée. | |
TreeMap | représente un tableau associatif dont les clés sont classées en ordre croissant. | |
Ensembles | HashSet | représente un ensemble renforcée par un map. |
TreeSet | représente un ensemble renforcée par un TreeMap et classant les objets en ordre croissant. |