До этого нигде в коде мы не вспоминаем про lastNode.
В 30 строке, насколько я понимаю, мы объявляем объект node с именем lastNode и красиво делаем сразу 2 вещи: присваиваем новое имя для существующего node и обновляем ссылку в last для prev.
Этот момент меня смущает. Было имя у node. Оно нам неизвестно, нам нужно его знать, поэтому мы все переименовываем, чтобы было удобно управлять дальше. Так понимать?
Или я неправильно понимаю?
package com.javarush.task.pro.task13.task1313;
public class StringsLinkedList {
private Node first = new Node();
private Node last = new Node();
public void printAll() {
Node currentElement = first.next;
while ((currentElement) != null) {
System.out.println(currentElement.value);
currentElement = currentElement.next;
}
}
public void add(String value) {
//напишите тут ваш код
if (first.next == null) {
Node node = new Node();
node.value = value;
first.next = node;
}
if (last.prev == null) {
last.prev = first.next;
return;
}
Node node = new Node();
node.value = value;
Node lastNode = last.prev;
lastNode.next = node;
node.prev = lastNode;
last.prev = node;
}
public static class Node {
private Node prev;
private String value;
private Node next;
}
}
