首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Java中插入双向链表中的第一个元素

如何在Java中插入双向链表中的第一个元素
EN

Stack Overflow用户
提问于 2014-01-27 05:05:15
回答 2查看 808关注 0票数 0

我已经看过很多帖子了,但是我似乎想不通--怎么把一个元素插入到一个空的双向链表中呢?(我无法想象一个空的DLL。)我想从文件中读取内容并将它们插入到DLL中,而且我还有一个添加对象的方法来帮助实现这一点。

代码语言:javascript
复制
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);
}

在我读取对象并插入对象的方法中,

代码语言:javascript
复制
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()了吗?谢谢你的帮助。

EN

回答 2

Stack Overflow用户

发布于 2014-01-27 05:10:26

您首先需要执行dll.setFirst(<some non-null object>)之类的操作,然后执行最后一行操作。它显然是null (因为您刚刚在if语句中测试了这个条件)。你不需要在first中设置一些值,你需要首先在这里实例化first

票数 0
EN

Stack Overflow用户

发布于 2014-01-27 05:22:04

您只需将报头指向它的header=new节点(null,currNum,null);

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21369188

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档