HashSet

HashSet<T>
Zestaw HashSet reprezentuje zestaw unikalnych elementów, podobnie jak zestaw matematyczny (np. { 1, 2, 3, 4, 5 }). Zestaw nie może zawierać duplikatów, a kolejność elementów nie ma znaczenia. Tak więc { 1, 2, 3, 4, 5 } i { 5, 4, 3, 2, 1 } są równe.

Użyj zestawu HashSet, gdy potrzebujesz super szybkich wyszukiwań na unikalnej liście elementów. Na przykład możesz przetwarzać listę zamówień i dla każdego zamówienia musisz szybko sprawdzić kod dostawcy z listy prawidłowych kodów dostawcy.

HashSet jest podobny do Dictionary, to zbiór oparty na haszowaniu, więc wyszukiwanie jest bardzo szybkie. Ale w przeciwieństwie do słownika nie przechowuje par klucz / wartość; przechowuje tylko wartości. Tak więc każdy obiekt powinien być unikalny, a to zależy od wartości zwróconej z metody GetHashCode.

Jeśli więc zamierzasz przechowywać niestandardowe typy w zestawie, musisz zastąpić metody GetHashCode i Equals w swoim typie.

Aby utworzyć zestaw HashSet:

Możesz dodawać / usuwać obiekty do HashSet podobnie jak do listy:

HashSet zapewnia wiele operacji na zestawach matematycznych:


Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *