java哈希表插入顺序
我正在做一项作业,它需要使用哈希表。我们需要将数字存储在哈希表中,然后返回与给定目标求和的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);
在调试模式下,这表明所说和所做的全部插入是: {五=5,六=6,二=2,一=1,三=3,四=4}
为什么是这样?我们了解到hastables存储数据的方式如下: 1%11(其中11是哈希表的大小,在本例中为默认值)=1,并将其存储在位置1。 2%11将在指数2处给出位置。 等等 14%11将给出位置3(索引3),如果发生碰撞,则进行线性探测或二次探测。我对内置哈希表函数如何存储数据感到困惑。谢谢
编辑: 假设我使用哈希表整数,而不是整数
共 (0) 个答案