使用数组重新定义自定义哈希表

时间:2014-12-15 19:07:25

标签: java hash hashtable

在使用数组处理自定义哈希表之后,我意识到当我在项目的最大比例大于0.6之后调整哈希表的大小时,它会使我的哈希函数无法用于下一次加载哈希调整大小后的函数会有所不同。

这是我当前的rehash函数,逻辑上这不起作用,因为它可能会使用新的哈希覆盖旧值,这意味着将从表中删除项目。

private void reHash(){
        for(int i=0; i < arr.length-1; i ++){
            if(arr[i] != null){
                Pair u = (Pair) arr[i];
                put(u.key, (V) u.value); 
            }
        }
    }

Put是我用来插入的方法。正在考虑使用临时数组,然后将原始数据设置为temp,但这意味着要更改表中的大量代码。

任何建议? 感谢

0 个答案:

没有答案