package com.javarush.task.pro.task13.task1313;
import java.util.ArrayList;
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) {
Node node = new Node();
node.value = value;
if (first.next == null) {
first.next = node;
}
else {
last.prev.next = node; // как работает эта строчка кода ?
node.prev = last.prev;
}
last.prev = node;
}
public static class Node {
private Node prev;
private String value;
private Node next;
}
}
last.prev = node - тут понятно. Полю prev объекта last мы присваеваем ссылку на новосозданный объект node.
Я ведь правильно понимаю?
но на что мы ссылаемся когда пишем last.prev.next ? 🥴seni
34 уровень
Объясните, пожалуйста.
Обсуждается
Комментарии (3)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Ant
11 сентября 2022, 12:59
ссылка last содержит объект Node с ссылочными полями prev, next
При первом добавлении данных, полю last.prev присваивается новый объект Node, поля prev, next равны null.
при втором добавлении в поле next у прошлого объекта записывается ссылка на новый объект и к этому полю мы обращаемся через last.prev
+2
seni
11 сентября 2022, 14:30
аааааа теперь понятно. у него ведь тоже есть свои поля, и внутри мы обращаемся к next. Правильно ?
спасибо, теперь бы понять как работает все остальное 😁
0
Ant
11 сентября 2022, 22:55
да, правильно 🙂
+2