После многочисленных попыток, наконец-то, что-то вылезло.
Как я понял, мой код ниже вставляет новую ноду не в конец списка, а в начало. Как это переделать - не придумал.
Дайте, пожалуйста, отдаленную подсказку / намек. Мб, в этой задаче должен использоваться while или if? Мб, в методе add над создать два объекта Node, а не один? Мб, не нужно использовать "this"? Мб, есть ссылка на статью / видео, в которых объясняют как работает LinkedList изнутри или как работают ссылки в Java.
Я понимаю, что first.next ссылается на node. node.prev ссылается на first. last.prev - на node, a node.next на last.
Но как запихнуть еще одну ноду, чтобы и данные прошлой ноды сохранились, и ссылки правильно поменялись? И все это работало еще и в обратном направлении.
Мне кажется, у меня не хватает фундаментального понимания работы со ссылками)))
package com.javarush.task.pro.task13.task1313;
/*
StringLinkedList
*/
public class Solution {
public static void main(String[] args) {
StringLinkedList stringLinkedList = new StringLinkedList();
stringLinkedList.add("1");
stringLinkedList.add("2");
stringLinkedList.add("3");
stringLinkedList.add("4");
stringLinkedList.add("5");
stringLinkedList.add("6");
stringLinkedList.add("7");
stringLinkedList.add("8");
stringLinkedList.add("9");
stringLinkedList.printAll();
}
}