У меня есть некоторые проблемы при реализации метода remove(int index)
, который должен удалить элемент по указанному индексу в списке. Моя первая проблема - как сдвинуть любые последующие элементы влево и вычесть один из их индексов. Я пытался
Node.getmNextNode() = tempNode.getmNextNode().getmNextNode();
, но это не правильно. Моя вторая проблема - как вернуть элемент по указанному индексу в конце.
public E remove(int index) throws IndexOutOfBoundsException {
if (index < 0 || index >= size) {
throw new IndexOutOfBoundsException();
} else if (index == 0) {
remove(0);
} else {
Node<E> tempNode = head;
for (int i = 0; i < index - 1; i++) {
tempNode = tempNode.getmNextNode();
}
Node.getmNextNode() = tempNode.getmNextNode().getmNextNode();
size--;
}
return ;
}
Мой класс Node:
public class Node<E> {
private E mElement;
private Node<E> mNextNode;
Node(E data) {
this.setmElement(data);
}
public E getmElement() {
return this.mElement;
}
public void setmElement(E element) {
this.mElement = element;
}
public Node<E> getmNextNode()
{
return this.mNextNode;
}
public void setmNextNode(Node<E> node)
{
this.mNextNode = node;
}}