Ваш код очень хорошо соответствует определению списка: список null
или элемент, за которым следует список.
«Элемент», в вашем случае, определяется значением int
, а часть «после» является переменной next
; в Java переменные (когда они не являются литералами, как int
значения) на самом деле являются указателями, поэтому, хотя они не инициализируются, они не хранят никаких допустимых значений и не указывают на какую-либо область памяти (т.е. их значение null
), поэтому, пока переменная next
сохраняется как есть, за вашим элементом не следует никакой другой. Для динамического добавления элементов в список необходим указатель на последний добавленный элемент, иначе вы не сможете найти их снова:
int i = 0;
Nodetype head = new Nodetype(i++);
Nodetype last = new Nodetype(i++);
head.next = last;
while (i<5) {
Nodetype temp = new Nodetype(i++);
last.next = temp;
last = temp;
}
while(head) {
System.out.println(head.info);
head = head.next;
}
Обратите внимание, что в последних нескольких строках вы теряете указатель head
и у вас нет возможности вернуть начальную точку списка. Имейте это в виду при работе со списками;)