Я пытаюсь создать класс HashTable, используя отдельную цепочку. Проблема существует в том, что когда я использую метод "insert", подобный этому:
public void insert(int k, int v) {
if (k < 0 || k >= 10) {
throw new IllegalArgumentException();
}
ListNode front = hTable.get(k);
if (front.data == 0 && front.next == null) {
front.data = v;
} else {
front = new ListNode(v, front);
}
}
, мой список заканчивается только одним узлом. Может быть, потому что что-то происходит, когда я вставляю значение спереди:
else {
front = new ListNode(v, front);
}
Но когда я изменяю этот метод и пытаюсь вставить в конец списка:
else {
while (front.next != null) {
front = front.next;
}
front.next = new ListNode(v);
}
Список теперь работает и может содержать несколько значений. Почему я не могу вставить в начало списка?