Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/symfony/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 哈希表,查找函数_Java_Data Structures_Hashtable - Fatal编程技术网

Java 哈希表,查找函数

Java 哈希表,查找函数,java,data-structures,hashtable,Java,Data Structures,Hashtable,我有一个哈希表数据结构,所有函数都可以正常工作,但是查找函数不能正常工作(它返回元素所在的位置) 大写键(K)是类型对象的数组,小写键(K)是元素-它的类型是泛型-我搜索它的位置,当我添加一个像1这样的数字并搜索它时,它返回它的正确位置,这将在我们的示例1中,但当我添加一个像3525这样的大数字时,它返回-1,这意味着它找不到它 注意:add函数以整数形式工作:number%数组大小(在我们的示例3525中:其位置9)。 有谁能帮我解释一下为什么会这样 另一个注意事项:3525%12=9,这意味

我有一个哈希表数据结构,所有函数都可以正常工作,但是查找函数不能正常工作(它返回元素所在的位置)

大写键(K)是类型对象的数组,小写键(K)是元素-它的类型是泛型-我搜索它的位置,当我添加一个像1这样的数字并搜索它时,它返回它的正确位置,这将在我们的示例1中,但当我添加一个像3525这样的大数字时,它返回-1,这意味着它找不到它

注意:add函数以整数形式工作:number%数组大小(在我们的示例3525中:其位置9)。 有谁能帮我解释一下为什么会这样


另一个注意事项:3525%12=9,这意味着它在数组中的9位置,当我返回键[9]时,它给我3525,这意味着它确实存在,所以为什么查找不起作用???

我发现任何小于128的数字都可以找到,但大于128的数字都找不到问题我的东西与ascii码有关,但我现在不知道两者之间的关系这是我问题的解决方案这个问题与ascii码无关,它与java中的Integer类有关,有关自动装箱和取消装箱的更多信息,请搜索
public int lookUp(T key){
    int x =0;
    boolean found = false;
    while(Key[place]!=null){
        if(Key[place] == key){
            found = true;
            break;
        }
        place =(place +probingLinear(x))%v;
        x++;
    }
    if(found)
        return place;
    else
        return -1;
}