有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

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) 个答案