Partilhar via


Coleção do Tipo HashSet

A classe HashSet<T> é uma coleção definida que implementa a interface ICollection e a interface genéricaICollection<T> .

Começando com o .NET Framework versão 4, o HashSet<T> classe implementa o ISet<T> classe.

Definir coleções

Na matemática, um conjunto é uma coleção de objetos distintos normalmente definidos por uma regra que determina se um elemento é um membro de um conjunto específico. Por exemplo, um conjunto pode ser definido para conter a "todos os os números ímpares entre 1 e 21" ou os números "1, 3, 5 e 7".

A classe HashSet

A classe HashSet<T> baseia-se no modelo de conjuntos matemáticos e fornece operações de conjuntos de alto desempenho semelhantes a acessar as chaves das coleções Dictionary<TKey, TValue> ou Hashtable. Em termos simples, a classe HashSet<T> pode ser considerada como uma coleção Dictionary<TKey, TValue> sem valores.

Uma coleção HashSet<T> não está classificada e não pode conter elementos duplicados. Se ordem ou elemento de duplicação é mais importante que o desempenho de seu aplicativo, considere o uso da classe List<T> juntamente com o método Sort.

HashSet<T> fornece muitos conjuntos de operações matemáticas, como conjuntos de adição (uniões) e de subtração. A tabela a seguir lista as operações HashSet<T> fornecidas e seus equivalentes matemáticos.

Operação HashSet (De T)

Equivalente Matemático

UnionWith

União ou conjunto de adição

IntersectWith

Interseção

ExceptWith

Conjunto de subtração

SymmetricExceptWith

Diferença simétrica

Além disso, para as operações de conjunto listadas, a classe HashSet<T> também fornece métodos para determinar conjuntos de igualdade, sobreposição de conjuntos, e se um conjunto é um subconjunto ou superconjunto de outro conjunto.

Consulte também

Referência

SortedSet<T>

ISet<T>

HashSet<T>

Conceitos

Tipos de Coleção Comumente Usadas

Operações de Conjuntos HashSet e LINQ