A HashSet is an implementation of a Set with unique keys. The keys are not sorted. It is implemented as a flat hashtable with linear probing and robin hood hashing.
The HashSet is implemented as a flat HashTable meaning that every entry is allocated when the collection is initialized, but they are all empty.
The HashTable uses Open Addressing and Linear Probing to resolve collisions along with Robin Hood Hashing to minimize the worst case scenarios.