Java - Les collections

Java Collections est une collection d'interfaces et classes qui aident à stocker, ordonner et traiter les données efficacement. Ce framework contient plusieurs classes utiles qui contiennent à leur tour des centaines de méthodes, ce qui rend la programmation simple et facile. Les collections réduisent le temps de programmation et augmentent la qualité et les performances.

Une collection est un objet qui collecte des éléments dans une seule liste. Une collection représente un ensemble de données homogène. Par exemple, une boite email (collection de mail), ou un répertoire de téléphone(liste des noms et leurs numéros). Ce site contient différents tutoriels sur les collections d'objets avec des exemples pour vous aider à comprendre.

L'architecture du framework Collections de java

Le framework Collections a une architecture hiérarchique pour représenter tous les collections qui contiennent ou héritent des interfaces, implémentations et méthodes comme le tri des objets. Les interfaces sont divisées en deux groupes. L'interface de base est java.util.Collection. L'autre interface est java.util.Map.

collections java

List

L'interface List est une collection ordonnée et il peut contenir des éléments dupliqués. List hérite les méthodes de l'interface Collection, l'interface List inclut des opérations comme la manipulation des éléments, la recherche, le parcours avec Iterator.

Set

L'interface Set élimine les éléments dupliqués. C'est la représentation du modèle mathématique des ensembles en java. Il hérite les méthodes de l'interface Collection et ajoute la propriété de l'interdiction des éléments en double qui doivent exister qu'une seule fois. Il stocke les éléments dans une table de hachage qui est un très bon atout pour les haute performances, mais il ne garantie pas l'ordre d'insertion des éléments lors de parcours.

SortedSet

L'interface SortedSet hérite les méthodes de l'interface Set. Il maintient les éléments dans l'ordre croissant ou selon la déclaration de la méthode compare() dans l'interface Comparator passé en argument lors de l'instanciation de TreeSet.

Map

L'interface Map stocke les pairs clé et sa valeur dans une table de hachage. Une Map ne peut contenir des éléments en double, chaque clé à une seule et unique valeur. Map peut être implementée avec:
- HashMap: il ne garantie pas l'ordre d'insertion des éléments lors de parcours.
- LinkedList: elle garantie le parcours des éléments basé sur l'ordre de leur insertion.
- TreeMap: elle stocke les éléments triés selon leurs valeurs.

SortedMap

Comme l'interface SortedSet qui hérite de son interface supérieur Set, l'interface SortedMap hérite aussi de Map et implémente les méthodes pour ordonner les éléments dans l'ordre croissant et décroissant.

Iterator et ListIterator

Ces deux interfaces sont membres du java framework Collections. Iterator est utilisé pour parcourir toutes les collections d'objets dans le sens ascendant, mais surtout pour parcourir les classes qui héritent de l'interface Map et qui ne permettent pas la boucle for. ListIterator permet le parcours dans les deux sens ascendant et descendant.

Différence entre Collection et Collections

- Collection est l'interface racine dans l'hiérarchie de java framework Collections. Ce qui veut dire que chaque classe implémente Collection.
- Collections est une classe utilitaire membre de java framework Collections et qui a des méthodes statiques pour manipuler les objets qui implémentent l'interface Collection. Par exemple, le tri d'un ArrayList dans l'ordre croissant:

Collections.sort(arraylist);