Tea*_*App 0 java collections hashmap
使用containsKey()的整个目的是检查HashMap中是否已存在任何给定的键?如果不包含该键,则只需将键添加到该HasMap中即可。
但是似乎当我们调用此方法时,它的参数是对象类型,这意味着containsKey()检查给定的parameter(key)是否具有与任何其他已经输入的键相似的内存地址。
潜在的解决方案:
一种解决方案是从该object1(oldKey)获取唯一数据,并与object2(new key)进行检查,如果它们相同,则不要在HashMap中使用它。但是,这意味着containsKey毫无用处。我对吗?
抱歉,我并不在意,或者听起来像我。但是我想知道解决这个问题的最有效方法。
感谢您提供的任何帮助。
但是似乎当我们调用此方法时,它的参数是对象类型,这意味着containsKey()检查给定的parameter(key)是否具有与任何其他已经输入的键相似的内存地址。
错误。hashCode()
首先通过比较它们的值来检查它们的相等性。仅当哈希值相等时,才可以比较对象本身(但始终使用equals()
,而不是==
)。因此,正确实现这两种方法的任何类都可以正确地用作关键字HashMap
。