我正在使用 java.util.HashMap 来关联联系人姓名和与联系人关联的电话号码列表,因此它的类型为String, List<String>
. 但是,可以有多个键可以映射到同一个桶,就像在说 key1:<1234,5678> 存储在哈希映射的索引 2 中一样。我可以有另一个 key2 可以散列到同一个索引中。那么,key1:<1234,5678> 会被 key2:<7890,1456> 代替吗???或者它会被链接起来并且 key1 和 key2 都将存储在该索引中?
编辑:我试图理解这一点,下面的代码只返回新墨西哥州。现在在这种情况下,他们都得到相同的哈希码,所以这是正确的冲突吗?在那种情况下,不应该将两个值都链接起来吗?那么存储不应该像说哈希码是 2 那么在地图(或数组)中的索引 2 应该是 1-Mexico, 1-New mexico 正确吗?所以返回的值应该是 Mexico 和 New mexico ?为什么不在这里被锁住?
public static void main(String[] args)
{
Map<Integer,String> map = new HashMap<Integer,String>();
map.put(1, "Mexico");
map.put(1, "New Mexico");
System.out.println(map.get(1));
}