Partager via


HashSet, type collection

La classe HashSet<T> est une collection ensembliste qui implémente l'interface ICollection et l'interface générique ICollection<T>.

Depuis le .NET Framework version 4, la classe HashSet<T> implémente la classe ISet<T>.

Collections ensemblistes

En mathématiques, un ensemble est une collection d'objets distincts qui est généralement définie par une règle déterminant si un élément est membre d'un ensemble particulier. Par exemple, un ensemble pourrait contenir « tous les nombres impairs entre 1 et 21 » ou les nombres « 1, 3, 5 et 7 ».

Classe HashSet

La classe HashSet<T> est basée sur le modèle des ensembles mathématiques et propose des opérations ensemblistes performantes semblables à celles qui permettent d'accéder aux clés des collections Dictionary<TKey, TValue> ou Hashtable. En termes simples, la classe HashSet<T> peut être considérée comme une collection Dictionary<TKey, TValue> sans valeurs.

Une collection HashSet<T> n'est pas triée et ne peut pas contenir d'éléments en double. Si l'ordre ou la duplication d'éléments vous semblent plus importants que les performances de votre application, envisagez d'utiliser la classe List<T> avec la méthode Sort.

HashSet<T> propose de nombreuses opérations d'ensembles mathématiques, telles que l'addition (unions) et la soustraction ensemblistes. Le tableau suivant répertorie les opérations HashSet<T> et leurs équivalents mathématiques.

Opération HashSet(Of T)

Équivalent mathématique

UnionWith

Union ou addition ensembliste

IntersectWith

Intersection

ExceptWith

Soustraction ensembliste

SymmetricExceptWith

Différence symétrique

Outre ces opérations ensemblistes, la classe HashSet<T> fournit également des méthodes pour déterminer l'égalité ensembliste, leur chevauchement et si un ensemble est un sous-ensemble ou sur-ensemble d'un autre ensemble.

Voir aussi

Référence

SortedSet<T>

ISet<T>

HashSet<T>

Concepts

HashSet et LINQ, opérations ensemblistes

Autres ressources

Types de collections couramment utilisés