HashSet ma w sobie strukturę typu HashMap i po prostu deleguje do niej swoje żądania.
Przykładowo, jeśli masz HashSet zawierający wartości one, two, three, w tle zostanie utworzona HashMap z wpisami mniej więcej:
{
'one': PRESENT,
'two': PRESENT,
'three': PRESENT
}
Dodawanie do setu to po prostu dodawanie do mapy, tak samo usuwanie i szukanie.