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 HashSet

Il est cependant préférable d’utiliser TreeSet quand nous voulons parcourir une collection de manière croissante

05.12 Tables associatives