Tipo de colección HashSet
Actualización: noviembre 2007
La clase HashSet<T> es una colección de conjunto que implementa la interfaz ICollection y la interfaz genérica ICollection<T>.
Colecciones de conjunto
En matemáticas, un conjunto es una colección de objetos distintos que, normalmente, está definido por una regla que determina si un elemento es miembro de un conjunto determinado. Por ejemplo, se puede definir un conjunto que contenga "todos los números impares entre 1 y 21" o los números "1, 3, 5 y 7".
La clase HashSet
La clase HashSet<T> se basa en el modelo de conjuntos matemáticos y proporciona operaciones de conjuntos de gran rendimiento similares a las de acceso a las claves de las colecciones Dictionary<TKey, TValue> o Hashtable. En términos sencillos, se podría hablar de la clase HashSet<T> como una colección Dictionary<TKey, TValue> sin valores.
Una colección HashSet<T> no está ordenada y no puede contener elementos duplicados. Si el orden o la duplicación de elementos es más importante que el rendimiento para la aplicación, considere la posibilidad de utilizar la clase List<T> junto con el método Sort.
HashSet<T> proporciona muchas operaciones matemáticas de conjuntos, como la suma de conjuntos (uniones) y la resta de conjuntos. La tabla siguiente enumera las operaciones HashSet<T> proporcionadas y sus equivalentes matemáticos.
Operación HashSet(Of T) |
Equivalente matemático |
---|---|
Unión o suma de conjuntos |
|
Intersección |
|
Resta de conjuntos |
|
Diferencia simétrica |
Además de las operaciones de conjuntos enumeradas, la clase HashSet<T> también proporciona métodos para determinar la igualdad de conjuntos, la superposición de conjuntos y si un conjunto es un subconjunto o supraconjunto de otro conjunto.
Vea también
Conceptos
Operaciones HashSet y Set de LINQ