当前位置: 首页 > 知识库问答 >
问题:

为HashMap的对象列表生成HashCode

殳毅
2023-03-14

当我们将一个对象作为键插入到一个映射中时,它的哈希代码就会生成。但如果我的密钥是对象列表,那么,它是列表中所有对象哈希代码的总和吗?

User user1 = new User(13, "Ron", "ron@gmail.com");
User user2 = new User(15, "Kamden", "kamden@gmail.com");
List<User> userList = new ArrayList<>();
userList.add(user1);
userList.add(user2);
Map<List<User>, User> userMap = new HashMap<>();
userMap.put(userList, user1);

请帮助理解。

共有1个答案

周奇文
2023-03-14

这实际上是在JavaDoc中指定的。ArrayList javadocs告诉您查看AbstractList和AbstractList中的实现。hashCode()表示实现与列表中的相同。给出这个定义的hashCode

列表的哈希代码定义为以下计算的结果:

int hashCode = 1;
for (E e : list)
    hashCode = 31*hashCode + (e==null ? 0 : e.hashCode());
 类似资料:
  • 在我的代码中,我有一个ArrayList contentChecklist,其中存储HashMap对象。在列表中添加所有HashMap对象之后,如果我从列表中获取最后一个HashMap对象并将其存储在新的HashMap对象(CheckListMaptemp)中,并使用

  • 我有这些学生物品清单, 我想从这些学生列表对象生成哈希图。 hashmap包含sudentid和name list键值对。

  • 嗨,所有Stackoverflow大师, 我正在开发一个应用程序,该应用程序使用来自某个rest webservice的JSON。 此链接上的示例JSONhttp://pastebin.com/embed_js.php?i=VYESA9MG(这是由于JSON有点长) 我创建了一个POJO类来满足这个JSON模型,如下所示: 这个模型在我们的代码中使用GSON模块调用。目前我已经抓到JSON,据了解

  • 我有一个对象列表,我想从它的字段中得到一个列表<假设我通过了列表

  • 给定一个包含以下格式数据的大文件(V1,V2,…,VN) 我正在尝试使用Spark获得一个类似于下面的配对列表 我尝试了针对一个较旧的问题所提到的建议,但我遇到了一些问题。例如, 我得到了错误, 有人能告诉我哪些地方我可能做得不对,或者有什么更好的方法可以达到同样的效果?非常感谢。

  • 问题内容: 当我使用IPython在Python中进行调试时,有时会遇到断点,并且我想检查当前是生成器的变量。我想到的最简单的方法是将其转换为列表,但是我不清楚在一行中这样做的简单方法是什么,因为我对Python很陌生。 问题答案: 只需调用生成器。 请注意,这会影响生成器,生成器将不返回任何其他项目。 您也不能直接在IPython中调用,因为它与列出代码行的命令冲突。 在此文件上测试: 运行时: