我有一个包含get_key()和get_angle()方法的方法。 Section类型的项目被添加到Hashtable类中实现的散列表中。 根据我的任务,我应该从哈希表中删除具有比given_value更大的函数get_angle()值的元素。从哈希表中删除项目(java)
class Hashtable{
private Section[] hash_array; //array of cells of the hashtable
public int size;
public void remove_given(double given_value)
{
for(int i = 0; i < size; i++)
{
if (hash_array[i] != null)
{
double value = hash_array[i].get_angle(); //value of needed function to compare
if (value > given_value)
{
int key_ = hash_array[i].get_key(); //get key for the item in order to delete it
Delete(key_); //delete item
}
}
}
}
}
但该方法不删除任何元素。我单独检查了方法Delete(),它的工作方式以及其他在此方法上调用的方法都很好。我真的需要弄明白。所以我会很感激你的帮助。
可能必须先看到您的Section类。 –
我没有看到你在初始化大小的位置?它应该基于哈希的大小。 – Dave
我在类Hashtable的构造函数中初始化。如果需要,我可以添加这部分代码。 –