如何删除列表中的所有节点

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,将使对象(值)可能无法访问并且可以免费进行垃圾回收。