Друзья, привет! Помогите разобраться. При удалении элемента из двухсвязного списка возникает ошибка - Exception in thread "main" java.lang.NullPointerException: Cannot read field "value" because "current" is null
Ошибка возникает в работе метода get(), так как один элемент из списка удален, а get() "об этом не узнает" и выводит первоначальный список.
Не пойму, в какой строчке get() поставить ограничение вывода значений до момента != null ?
@Override
public T get(int i) {
if (i < 0 || i >= length ()) {
throw new IndexOutOfBoundsException ();
}
Node<T> current = first;
for(int j=0; j<i; j++) {
current = current.next;
}
return current.value;
}
@Override
public void remove(T e) {
Node<T> current = first;
while (current.value != e) {
current = current.next;
if (current == null) {
throw new IndexOutOfBoundsException ();
}
}
if (current.next != null) {
current.next.prev = current.prev;
}
current.prev.next = current.next;
}