我可以删除我的链表的所有节点以通过我的这段代码删除吗?如果没有,那么如何一次删除所有节点!
我的代码是
EditNode mynode=start;
while(mynode!=null){
mynode.editnext=null;
mynode=mynode.editnext;
}
Run Code Online (Sandbox Code Playgroud)
需要帮助!提前致谢...
您的代码这么想的工作,因为你设置mynode.editnext到null,然后尝试引用它。所以这是行不通的。
要删除链表中的所有节点,在 Java 中,只需清除头指针即可。Java 将垃圾收集其余部分。
start = null;
Run Code Online (Sandbox Code Playgroud)
请注意,此答案适用于您的自定义链接列表。在生产中,您应该使用 的 Java 实现LinkedList,它有一个.clear()方法。这是处理列表的更简洁的方法。
这是因为您可能有指向列表中项目的杂散指针,这将保持对列表其余部分的引用并防止垃圾收集。您不应该将像editnext财产这样的组织结构构建到数据结构中。它们应该是单独的类。
要清除每个节点中的所有指针,请使用以下代码:
EditNode mynode;
while (start != null){
mynode = start.editnext;
start.editnext = null;
start = mynode;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1637 次 |
| 最近记录: |