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

Java中冲突情况下的hashmap迭代

燕寒
2023-03-14

假设我们有一个冲突,但键值不同,因此根据定义,Hashmap将在该桶中创建一个链表,并将新的键值对添加为现有键值条目的下一个。

我的问题是在这种情况下我们如何迭代哈希图?默认迭代机制是否更改为实际检索所有冲突并存储在同一存储桶位置的键值对?

共有1个答案

胡浩瀚
2023-03-14

没有变化。它会像桶0一样迭代,即桶中的每个元素,然后移动到桶1,依此类推。所以迭代的方式没有变化。

 类似资料:
  • 问题内容: Java 使用方法在中插入K / V对。可以说我使用过method,现在有一个条目,其值为10和17。 如果我在其中插入10,20,由于键10相同而发生冲突,它会简单地用该条目替换之前的条目。 如果钥匙碰撞,则用新的K / V对替换旧的K / V对。 所以我的问题是何时使用Chaining冲突解决技术? 为什么它没有形成键值为10且值为17,20的a? 问题答案: 当您插入线对然后时,

  • Java使用方法在中插入K/V对。假设我使用了方法,现在

  • 我尝试编写一个小程序来演示java中只有equals被覆盖而不是hashcode()方法时的哈希冲突。这是为了证明两个不相等的对象可以具有相同哈希码的理论。这是针对询问行为的面试问题。 我创建了200000个对象,将它们存储在一个数组中,然后比较它们,看看哪些是重复的。(为此,在对象创建阶段之后,我使用嵌套For循环迭代对象数组。)对于大约200000个物体,我会遇到9次碰撞。第一个是索引196和

  • 我试图在不使用Box2D的情况下为libgdx角色(玩家和敌人)实现碰撞检测。正如我所读到的那样,Box2D支持内置碰撞检测,但由于我的游戏不涉及环境中的任何物理因素,因此我不习惯仅为此使用Box2D。 我发现的许多示例通过为此定义一个边界框(矩形)来启用冲突检测,但我正在寻找一个内置的解决方案。

  • 好的,所以我最近读了很多关于的文章,我认为有些人让它比实际更令人困惑。我想知道这个过程是否正确。 因此,当您有一个键和值时,例如出生于 1805-02-13 的彼得·狄利克雷,在这种情况下,将是和“ 第一步是在上使用哈希函数,即。让我们假设哈希函数生成这个值到bucket nr<code>5</code>。这意味着在该特定桶中,索引上,键/值对将被存储。 因此,如果我们想检索这些信息,我们使用并且

  • 问题内容: 我正在尝试使用pyodbc处理一个非常大的查询,我需要遍历所有行,而不必使用fetchall()一次加载所有行。 是否有一个良好且有原则的方法来做到这一点? 问题答案: 当然,请使用循环。 http://code.google.com/p/pyodbc/wiki/Cursor#fetchone