gpt4 book ai didi

java - 显示 HashMap 中的所有碰撞

转载 作者:行者123 更新时间:2023-11-29 03:16:43 25 4
gpt4 key购买 nike

我是 Java 中的 HashMap 的新手。我试图创造一种情况,在这种情况下发生碰撞并且使用相同的键(在本例中为 1)。我读到 HashMap 中的值没有被覆盖,相反,它们被维护在一个链接列表中。如何显示键“1”的所有值?

    public static void main(String[] args)
{
HashMap<String, String> hash = new HashMap<String, String>();
hash.put("1", "one");
hash.put("1", "two");
hash.put("1", "three");
hash.put("1", "four");
System.out.println(hash);
}

以上代码的输出——

{1=two}

最佳答案

那不是真的。每个唯一键只有一个键值对存储在映射中。您为特定键放入映射中的最新值将覆盖为该键存储的先前值。

不同的键可能有相同的哈希码,这导致它们在HashMap内部存储在同一个链表中,但映射中的键都是唯一的。对于映射中的每两个键,key1.equals(key2) 将返回 false,即使 key1.hashCode()==key2.hashCode() 也是如此。

关于java - 显示 HashMap 中的所有碰撞,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26127225/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com