Как создать список самому? В принципе я написал так, что я могу добавить элемент в список, но как удалить - не представляю,точнее представляю, что нужно элементу переназначить знание о следующем элементе, но как?
public class MyList<Robot> {
class Node<R> {
R item;
Node<R> next;
Node<R> previous;
int id;
Node() {
item = null;
next = null;
previous = null;
}
Node(R item, Node<R> next) {
this.item = item;
this.next = next;
id++;
}
Node(Node<R> previous, R item, Node<R> next) {
this.previous = previous;
this.item = item;
this.next = next;
id++;
}
boolean nextEnd() {
return (item == null && next == null);
}
boolean previousEnd() {
return (previous == null && item == null);
}
}
private Node<Robot> top = new Node<>();
public void put(Robot item) {
top = new Node<>(top, item, top);
}
public Robot last() {
Robot result = top.item;
if (!top.nextEnd())
top = top.next;
return result;
}
public void remove(Robot item) {
//TODO
}
}
class Test {
public static void main(String[] args) {
MyList<String> list = new MyList<>();
for (String s1 : "Hack Brain and code".split(" "))
list.put(s1);
String s5;
list.remove("Hack");
while ((s5 = list.last()) != null)
System.out.println(s5);
}
}
public remove(Node<R> e) {
e.previous.next = e.next;
e.next.previous = e.previous;
}
Оригинальная реализация LinkedList.
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Есть абстрактный класс фрагмента который будут наследовать другие фрагментыВести себя они будут все одинаково, кроме одного - они будут...
При записи файла перезаписывает старый файл, как сделать чтобы создавался новый файл, а не перезаписывался старый? Код целиком