В Java API реализация HashSet использует объект как значение для внутри HashMap,
// Dummy value to associate with an Object in the backing Map
private static final Object PRESENT = new Object();
public boolean add(E e) {
return map.put(e, PRESENT)==null;
}
но HashMap позволяет его значение равно нулю. Я думаю, что не нужно заполнять значение, так зачем это нужно?