0

だから私はJavaで二重リンクリストを持っていて、それをテストしていますが、同じインデックスで2つの要素を削除しようとすると、nullポインタ例外がスローされました

これは私のリスト [A、B、C、D、E] で、これは私のテストです

System.out.println("Item removed at index 3: " + list.removeAtIndex(3));
System.out.println(list);
//throws exception at following line
System.out.println("Item removed at index 3: " + list.removeAtIndex(3));
System.out.println(list);

リストは [ A、B、C] である必要がありますが、例外がスローされます。これは removeAtIndex メソッドの実装です。

public E removeAtIndex(int index) {
    DoublyLinkedNode<E> node = firstNode;
    for(int i = 0; i < index; i++)
    {
        node = node.getNext();
    }
    E item = node.getItem();
    node.getPrevious().setNext(node.getNext());
    node.getNext().setPrevious(node.getPrevious());
    return item;
 }

どうすればこれを解決できますか?

編集:言い忘れましたが、あるインデックスで削除してからもう一度削除すると、別のインデックスで問題なく動作します

4

1 に答える 1