【问题标题】:Hash Map allow null insertion but Hash table won't allow null insertion? [duplicate]哈希映射允许空插入但哈希表不允许空插入? [复制]
【发布时间】:2020-01-17 23:09:04
【问题描述】:

我们可以在 Hash Map 中为 Key 和 value 插入空值,但在 Hash 表的情况下我们不能 做空插入?

【问题讨论】:

  • 是的,但这是问题所在吗?它的文档很好,两个类的第一行文档......(不推荐使用HashTable,有更好的类(至少从Java 5开始))

标签: java


【解决方案1】:

要成功地从 HashTable 存储和检索对象,用作键的对象必须实现 hashCode 方法和 equals 方法。由于 null 不是对象,因此它无法实现这些方法。 HashMap 是 Hashtable 的高级版本和改进。 HashMap 是后来创建的。

hashmap 中的空键总是存储在第一个位置。因此,当您在 hashmap 中请求一个空键时,它会排在第一位。检索键和值。比退货。

hashmap 中只允许有 1 个空键,因为它不能包含重复的键。

ConcurrentHashMap 是一个较新的类,但也有不允许空键或空值的限制。他们出于性能原因添加了此限制,因为支持 null 键和值需要做很多额外的工作,但在大多数情况下可能没有用。

【讨论】:

    猜你喜欢
    • 2023-03-11
    • 2011-10-01
    • 1970-01-01
    • 2020-02-07
    • 1970-01-01
    • 2015-06-25
    • 2017-03-28
    • 1970-01-01
    相关资源
    最近更新 更多