【发布时间】:2020-01-17 23:09:04
【问题描述】:
我们可以在 Hash Map 中为 Key 和 value 插入空值,但在 Hash 表的情况下我们不能 做空插入?
【问题讨论】:
-
是的,但这是问题所在吗?它的文档很好,两个类的第一行文档......(不推荐使用
HashTable,有更好的类(至少从Java 5开始))
标签: java
我们可以在 Hash Map 中为 Key 和 value 插入空值,但在 Hash 表的情况下我们不能 做空插入?
【问题讨论】:
HashTable,有更好的类(至少从Java 5开始))
标签: java
要成功地从 HashTable 存储和检索对象,用作键的对象必须实现 hashCode 方法和 equals 方法。由于 null 不是对象,因此它无法实现这些方法。 HashMap 是 Hashtable 的高级版本和改进。 HashMap 是后来创建的。
hashmap 中的空键总是存储在第一个位置。因此,当您在 hashmap 中请求一个空键时,它会排在第一位。检索键和值。比退货。
hashmap 中只允许有 1 个空键,因为它不能包含重复的键。
ConcurrentHashMap 是一个较新的类,但也有不允许空键或空值的限制。他们出于性能原因添加了此限制,因为支持 null 键和值需要做很多额外的工作,但在大多数情况下可能没有用。
【讨论】: