Может использовать одно значение NULL (поскольку дублирование не разрешено), данные хранятся случайным образом, поскольку они не поддерживают последовательность.

л фрагмент кода, как

Set<Record> instances = new HashSet<Record>();

Мне интересно, является ли Hashset особым видом набора? Какая разница между ними?