У меня есть класс Section с несколькими методами, включая методы get_key() и get_angle(). Элементы типа Раздел добавляются в хэш-таблицу, реализованную в классе Hashtable. Согласно моей задаче, я должен удалить такие элементы из хэш-таблицы, которые имеют большее значение функции get_angle(), чем given_value.Удалить элементы из hashtable (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. Я могу добавить эту часть кода, если вам нужно. –