как удалить все узлы в списке - PullRequest
0 голосов
/ 27 февраля 2019
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");
    }
}

это метод удаления всех узлов в связанном списке без параметров.

1 Ответ

0 голосов
/ 27 февраля 2019
public void deleteAll() {
    head = null;
}

Вы забыли установить для head значение null.

И из-за сборок мусора все узлы списка больше не являются ссылочными и будут собираться мусором.

УстановкаПеременная на ноль не будет иметь никакого реального эффекта.Установка поля в null сделает объект (значение), вероятно, недоступным и свободным для сборки мусора.

...