所以我在java中有一个双向链表,我正在测试它,但是当我决定删除同一索引处的两个元素时,它抛出了一个空指针异常
这是我的清单 [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);
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;
}
我怎样才能解决这个问题?
编辑:我忘了说,当我在一个索引处删除然后再次但在另一个索引处删除时,它工作得很好