Hi, ich soll eine LinkedList<T> schreiben, dass dieses* Interface implementiert. Könnt ihr kurz schauen, ob ich es richtig gemacht habe und was ich verbessern könnte?
Hier das Interface:
Und hier was ich bis jetzt habe:
Hier das Interface:
Code:
class list<T> {
public interface List<T> {
public void add();
public void add(int index, T value);
public T contains(T value);
public int indexOf (T value);
public T remove(T value);
public T remove(int index);
public T get(int index);
public int size();
}}
Und hier was ich bis jetzt habe:
Code:
public class DLinkedNode<T> {
private static class Node<T> {
private T data;
private Node nächste;
private Node vorher;
public Node(T data) {
this.data = data;
}
public void displayNode() {
System.out.print(data + " ");
}
public String toString() {
return data.toString();
}
}
public Node anfang = null;
public Node ende = null;
public void addFirst(T data) {
Node newNode = new Node(data);
if (contains()) {
newNode.nächste = null;
newNode.vorher = null;
anfang = newNode;
ende = newNode;
} else {
anfang.vorher = newNode;
newNode.nächste = anfang;
newNode.vorher = null;
anfang = newNode;
}
}
public boolean contains() {
return (anfang == null);
}
public void size() {
Node current = anfang;
while (current != null) {
current.displayNode();
current = current.nächste;
}
System.out.println();
}
public void ersteLöschen() {
if (!contains()) {
Node temp = anfang;
if (anfang.nächste == null) {
anfang = null;
ende = null;
} else {
anfang = anfang.nächste;
anfang.vorher = null;
}
System.out.println(temp.toString() + " wird gelöscht");
}
}
public void endeLöschen() {
Node temp = ende;
if (!contains()) {
if (anfang.nächste == null) {
anfang = null;
ende = null;
} else {
ende = ende.vorher;
ende.nächste = null;
}
}
System.out.println(temp.toString() + " wird gelöscht");
}
public static void main(String[] args) {
DLinkedNode neueListe = new DLinkedNode();
neueListe.addFirst("LOL");
neueListe.addFirst("XD");
neueListe.addFirst(3);
neueListe.addFirst(2);
neueListe.addFirst(1);
neueListe.size();
neueListe.ersteLöschen();
neueListe.ersteLöschen();
neueListe.ersteLöschen();
neueListe.endeLöschen();
neueListe.size();
}
}