Le framework de collection est une bibliothèque de types collections apparus dans java 2 il y a fort longtemps. Le but était de repartir des anciens Vector et Hashtable pour avoir tout un ensemble de conteneur dédiés au différents besoin, mais également configurable.

La base, c'est de ne manipuler que les interfaces. Toute déclaration, que ce soit en tant qu'attribut ou paramètre, utilise le concept d'interface pour manipuler les données. On parle de type abstrait, on a donc les classiques List, Map, Queue, Set. Le choix d'une de ces interface dépend de la façon dont on va utiliser les données. Les différences conceptuels sont tels que le choix devient fortement structurant. Doit-on garder les éléments triés ? l'ordre est-il important ? Ce sont ces questions qui vont déclencher le choix d'une interface ou d'une autre.

Le choix de la collection concrète viens ensuite, lorsque l'on doit s'occuper des contraintes techniques

Ah, j'oubliais. Les listes sont génériques maintenant. On peut donc préciser le type des éléments que l'on met dedans. On déclarera une List<Personne> par exemple. Fini de dériver les listes ou de créer des adapters de validation de type.

Le site du collection framework sur le site de sun