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");
}
}
这是不使用参数即可删除链表中所有节点的方法。
答案 0 :(得分:3)
public void deleteAll() {
head = null;
}
您忘记将head
设置为空。
由于垃圾收集,列表中的所有节点都不再可引用,将被垃圾收集。
将变量设置为null不会产生实际效果。将字段设置为null可能会使对象(值)无法访问并且可以免费进行垃圾回收。