Реализация метода void put(int i, T e) в двухсвязном списке LinkedList
В двусвязном списке необходимо раздвинуть список и вставить сюда свою ноду.
Возникли сложности в реализации. Указанный код не позволяет заменить значение с индексом "0" и пропадает элемент в середине списка. Не пойму, где ошибка?
public void putIndexValue(int i, T e) {
if (i < 0 || i > size) {
throw new IndexOutOfBoundsException ();
} else {
Node<T> node = getNode (i);
Node<T> temp = new Node<> (e);
if (node == last) {
temp.next = null;
last = temp;
} else {
temp.next = node.next;
node.next.prev = temp;
}
temp.prev = node;
node.next = temp;
}
}