SinglyLinkedList remove(int index) 方法

SinglyLinkedList remove(int index) method

我在实现 remove(int index) 方法时遇到了一些问题,该方法应该删除列表中指定索引处的元素。我的第一个问题是如何将任何后续元素向左移动并从它们的索引中减去一个。我试过了

Node.getmNextNode() = tempNode.getmNextNode().getmNextNode();

但这是不正确的。我的第二个问题是如何return最后指定索引处的元素。

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 ;
}

我的节点class:

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;
}}

您可以这样尝试:

tempNode.setmNextNode(tempNode.getmNextNode().getmNextNode());