Может быть, я сейчас сошел с ума, но у меня есть вопрос по поводу области, или выделения памяти, или сборки мусора.
У класса LinkedIntList есть закрытое поле front, которое является переменнойтипа ListNode (строка 4).Остальная часть связанного списка создается путем вызова функции add () (строка 29).
Вопрос: Когда возвращается add () (строка 39), создаются ли ListNode в add () новым,выходит за рамки и должны быть мусора?Или они зарезервированы, потому что фронт направлен на них цепью?
1 // Simple first version of LinkedIntList with just a constructor
2 // and methods for add and toString.
3
4 public class LinkedIntList {
5 private ListNode front; // first value in the list
6
7 // post: constructs an empty list
8 public LinkedIntList() {
9 front = null;
10 }
11
//....
//....
28 // post: appends the given value to the end of the list
29 public void add(int value) {
30 if (front == null) {
31 front = new ListNode(value);
32 } else {
33 ListNode current = front;
34 while (current.next != null) {
35 current = current.next;
36 }
37 current.next = new ListNode(value);
38 }
39 }
40 }