Hallo. Ich habe versucht, eine verkettete Liste zu programmieren. Leider funktioniert das Einfügen eines neuen Elements scheinbar nicht. Es wäre schön zu erfahren, woran das liegen könnte. Wenn ich die Anzahl der Elemente meiner Liste ausgebe, wird mir eine "0" angezeigt, obwohl ich in meinem Hauptprogramm drei Elemente an die Liste angefügt habe. Ich wäre sehr dankbar, wenn mir jemand zeigen kann, wo der Fehler liegt!
Code:
package linkedList;
public class Main {
public static void main(String[] args) {
LinkedList<String> linkedList = new LinkedList<>();
linkedList.insert("Hallo");
linkedList.insert("Test");
linkedList.insert("Wie gehts?");
System.out.println(linkedList.getNumberOfElements());
}
}
Code:
package linkedList;
public class LinkedList<T> {
private Node<T> startNode;
public LinkedList() {
startNode = null;
}
private Node<T> getNullNode() {
Node<T> currentNode = this.startNode;
while (currentNode != null) {
currentNode = currentNode.getNextNode();
System.out.print("Durchlauf ");
}
return currentNode;
}
public void insert(T object) {
Node<T> nullNode = getNullNode();
System.out.println(getNullNode());
nullNode = new Node<T>();
nullNode.setObject(object);
}
public int getNumberOfElements() {
int numberOfElements = 0;
Node<T> currentNode = startNode;
while (currentNode != null) {
currentNode = currentNode.getNextNode();
numberOfElements++;
}
return numberOfElements;
}
}
Code:
package linkedList;
public class Node<T> {
private T object;
private Node<T> nextNode;
public Node() {
this.object = null;
this.nextNode = null;
}
public T getObject() {
return object;
}
public Node<T> getNextNode() {
return nextNode;
}
public void setNextNode(Node<T> nextNode) {
this.nextNode = nextNode;
}
public void setObject(T object) {
this.object = object;
}
}