Я пытаюсь вставить новый узел в конец одного связанного списка. Но после компиляции я получаю исключение NullPointerException."java.lang.NullPointerException" при попытке добавитьLast() в связанный список
Вот класс Node.
class Node {
private int data;
private Node next;
public Node(int x){
data = x;
next = null;
}
public int getData(){
return data;
}
public Node getNext(){
return next;
}
public void setData(int newx){
data = newx;
}
public void setNext(Node n){
next = n;
}
}
Вот это единственный класс LL
public class SingleLL {
protected Node head=null;
protected Node tail=null;
protected int size=0;
public int getSize(){
return size;
}
public void addLast(int x){
Node newnode = new Node(x);
if(size==0){
head = newnode;
}
else{
tail.setNext(newnode);
tail = newnode;
}
size = size+1;
}
public void addfirst(int x){
Node newnode = new Node(x);
if(size==0){
tail = newnode;
}
else{
newnode.setNext(head);
head = newnode;
}
size = size+1;
}
Метод AddFirst() работает. Когда я пытаюсь создать LL с помощью addLast(), появляется NullPointerException. Я думаю, что должна быть какая-то проблема на if(size==0){head = newnode;}
, но я не могу понять это.
public static void main(String arg[]){
int[] a = {1,2,3,4,5,6};
SingleLL myList = new SingleLL();
for(int i=0;i<a.length;i++){
myList.addLast(a[i]);
}
}
}
Благодарим вас за подробное объяснение. Очень ценю это! – jessica