我一直在寻找各种职位,但我似乎无法弄清楚这一点 - 你如何插入一个元素到一个空的双向链表? (我无法想象一个空的DLL。)我想从文件中读取内容并将它们插入到DLL中,并且我还有一个方法来添加对象以帮助完成此操作。如何将第一个元素插入Java中的双向链表中
public void add(ListNode prev, Object object, ListNode next){
ListNode newNode = new ListNode(prev, object, next);
prev.setNext(newNode);
newNode.setPrevious(prev);
newNode.setNext(next);
next.setPrevious(newNode);
}
在我的方法,我阅读的对象并插入,
int currNum = scanner.nextInt();
DoublyLL dll = new DoublyLL();
ListNode curr = dll.getFirst(); //start at beginning of list
ListNode prev = null;
if(curr == null){ //if the list is empty
ListNode first = new ListNode(curr, currNum, null);
dll.getFirst().setValue(first); //returns a null-pointer exception
}
最后一行使一个空指针异常。那么如何插入第一个元素?你用add()吗?谢谢您的帮助。
我觉得这一行'dl.getFirst()的setValue(0);'(或类似的东西)不起作用,因为:'公共无效setValue方法(对象的newval) \t { \t \t值=的newval; \t}'和值为空,但'newVal'不是。这种方法不应该改变 - 你有什么想法如何去解决这个问题? – javaChipFrapp