【发布时间】:2017-09-03 18:27:06
【问题描述】:
为什么HashMap在java中包含单个空值?
我在一次采访中问过为什么 HashMap 允许 Null 值。我找到了一篇描述 HashMap 实现的文章。但没有说明为什么它只包含 null。这背后的原因是什么,为什么设计师设计包含 Null。 来自 Oracle 源代码...
public class HashMap<K,V> extends AbstractMap<K,V> implements Map<K,V>, Cloneable, Serializable
Map 接口的基于哈希表的实现。此实现提供所有可选的映射操作,并允许空值和空键。 (HashMap类大致相当于Hashtable
http://docs.oracle.com/javase/6/docs/api/java/util/HashMap.html
but why HashMap allows only single Null value ?
【问题讨论】:
-
是否有任何其他键多次“允许”? ;)
-
但是为什么为null,它应该是空白的。
-
什么应该是“空白”?
-
如果你知道hashmap的实现它包含单个null但是为什么,它应该包含16个null,以保持hashmap的唯一性。
-
16 个 null 不是唯一的,只有一个是“唯一的”。一般注意,hashmap 本身并不 包含 null,它只是 允许 它们。
标签: java