我正在做一项任务,它需要使用哈希表。我们需要在哈希表中存储数字,然后返回总和为给定目标的2个数字的位置索引。因此,如果目标是8,并且那里有3和5,我需要返回指标。我用数组写它没有问题,但我不明白数字插入哈希表时的位置。
Hashtable<String, Integer> numbers = new Hashtable<String, Integer>();
numbers.put("one", 1);
numbers.put("two", 2);
numbers.put("three", 3);
numbers.put("four", 4);
numbers.put("five", 5);
numbers.put("six", 6);
这在调试模式下显示插入所有说和完成的是: {five = 5,6 = 6,2 = 2,1 = 1,3 = 3,4 = 4}
为什么会这样?我们了解到hastables存储的数据如下: 1%11(其中11是哈希表的大小,在这种情况下是默认值)= 1并将其存储在位置1。 2%11将给出指数2的头寸。 等等... 14%11将给出位置3(指数3)并且如果存在碰撞则进行线性探测或二次探测。我对内置哈希表函数如何存储我的数据感到困惑。谢谢!
编辑: 让我说我做Hashtable Integer,而不是整数