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 |
---|---|
Union ou addition ensembliste |
|
Intersection |
|
Soustraction ensembliste |
|
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
Concepts
HashSet et LINQ, opérations ensemblistes