C# Language HashSet


Exemple

Ceci est une collection d'éléments uniques, avec la recherche O (1).

HashSet<int> validStoryPointValues = new HashSet<int>() { 1, 2, 3, 5, 8, 13, 21 };
bool containsEight = validStoryPointValues.Contains(8); // O(1)

À titre de comparaison, le fait d’ Contains une liste contenue produit des performances moins bonnes:

List<int> validStoryPointValues = new List<int>() { 1, 2, 3, 5, 8, 13, 21 };
bool containsEight = validStoryPointValues.Contains(8); // O(n)

HashSet.Contains utilise une table de hachage, de sorte que les recherches sont extrêmement rapides, quel que soit le nombre d'éléments de la collection.