我是否可以删除我的链表的所有节点以通过我的这段代码删除?如果没有,那么如何一次删除所有节点!
我的代码是
EditNode mynode=start;
while(mynode!=null){
mynode.editnext=null;
mynode=mynode.editnext;
}
需要帮助!提前致谢...
我是否可以删除我的链表的所有节点以通过我的这段代码删除?如果没有,那么如何一次删除所有节点!
我的代码是
EditNode mynode=start;
while(mynode!=null){
mynode.editnext=null;
mynode=mynode.editnext;
}
需要帮助!提前致谢...
您的代码不起作用,因为您正在设置然后尝试引用它mynode.editnext
。null
所以这行不通。
要删除链表中的所有节点,在 Java 中,只需清除头指针即可。Java 将垃圾收集其余部分。
start = null;
请注意,此答案适用于您的自定义链接列表。在生产中,您应该使用 的 Java 实现LinkedList
,它上面有一个.clear()
方法。这是处理列表的一种更简洁的方法。
这是因为您可能有指向列表中某个项目的杂散指针,这将保持对列表其余部分的引用并防止垃圾收集。您不应该editnext
在数据结构中构建像属性这样的组织结构。它们应该是单独的类。
要清除每个节点中的所有指针,请使用以下代码:
EditNode mynode;
while (start != null){
mynode = start.editnext;
start.editnext = null;
start = mynode;
}
你检查过 LinkedList 的clear()方法吗?
public void clear()
- 从此列表中删除所有元素。此调用返回后,列表将为空。