如何删除列表中的所有节点
how to delete all nodes in the list
public void deleteAll() {
if(head==null) {
System.out.println("list already empty");
}
else {
Node temp=head; Node del;
while(temp.next!=null) {
del=temp.next;
temp=null;
temp=del;
}
System.out.println("all nodes deleted");
}
}
这是不带参数删除链表所有节点的方法
public void deleteAll() {
head = null;
}
您忘记将 head
设置为 null。
并且由于垃圾收集,列表中的所有节点都不再可引用,将被垃圾收集。
将变量设置为 null 不会有任何实际效果。将字段设置为 null,将使对象(值)可能无法访问并且可以免费进行垃圾回收。
public void deleteAll() {
if(head==null) {
System.out.println("list already empty");
}
else {
Node temp=head; Node del;
while(temp.next!=null) {
del=temp.next;
temp=null;
temp=del;
}
System.out.println("all nodes deleted");
}
}
这是不带参数删除链表所有节点的方法
public void deleteAll() {
head = null;
}
您忘记将 head
设置为 null。
并且由于垃圾收集,列表中的所有节点都不再可引用,将被垃圾收集。
将变量设置为 null 不会有任何实际效果。将字段设置为 null,将使对象(值)可能无法访问并且可以免费进行垃圾回收。