Un ensemble est une collection non-ordonnée et dans laquelle les éléments ne peuvent apparaître qu’une fois.
En Java
Le concept des ensembles est mis en oeuvre par l’interface Set, et implémentée par TreeSet et HashSet
L’interface Set
Cette interface prend un type générique, dont elle va être le contenneur.
Bien sûr, Set hérite de Collection
Les opérations sur un set ressemblent aux opérations mathématiques sur les ensembles.
On a également des méthodes analogues à celles de List pour créer des ensembles immuables
La classe Collections permet aussi de créer un ensemble non-modifiable via la fonction unmodifiableSet(). Il est (comme pour les listes) préférable d’utiliser copyOf() à la place de cette fonction.
Mises en oeuvres des ensembles
TreeSet— Ordonné en ordre croissant- Stocke ses éléments dans un arbre binaire trié
- Opérations en
HashSet— Non ordonné (du moins cela le semble, en réalité, ils sont triés par leur “hash”)- Stocke ses éléments dans une table de hashage
- Opérations en
En général, mieux vaut utiliser
HashSetIl est cependant préférable d’utiliser
TreeSetquand nous voulons parcourir une collection de manière croissante