在 Java API 中,HashSet 的实现是使用一个 Object 作为内部 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允许它的值为null。我认为这不是填充值所必需的,那么为什么需要这样做呢?