import java.util.Collection; import java.util.Iterator; import java.util.Queue; public class ChainQueue implements Queue { private class Node { private E data; private Node next; public Node getNext() { return next; } public E getData() { return data; } public void setData(E data) { this.data = data; } public void setNext(Node next) { this.next = next; } public Node(E data) { this.data = data; } } Node node; @Override public boolean add(E input) { // Übergeben der "Data" if (node == null) { // Ist das Erste der Schlange leer? node = new Node(input); // Ja? Direkt einfügen return true; } return addNode(input, node); // Andernfalls die Schlage durchlaufen und dort einfügen } private boolean addNode(E input, Node n) { if (n.getNext() == null) { n.setNext(new Node(input)); return true; } return addNode(input, n.getNext()); } @Override public int size() { Node temp = node; int size = 0; while (temp != null) { size++; temp = temp.getNext(); } return size; } @Override public boolean isEmpty() { if (this.size() == 0) { return true; } return false; } @Override public boolean contains(Object o) { Node temp = node; for (int i = 0; i < this.size(); i++) { if (node.getData().equals(o)) { return true; } temp = temp.getNext(); } return false; } @Override public Iterator iterator() { return null; } @Override public Object[] toArray() { return new Object[0]; } @Override public T[] toArray(T[] ts) { return null; } @Override public boolean remove(Object o) { return false; } @Override public boolean containsAll(Collection collection) { return false; } @Override public boolean addAll(Collection collection) { return false; } @Override public boolean removeAll(Collection collection) { return false; } @Override public boolean retainAll(Collection collection) { return false; } @Override public void clear() { } @Override public boolean offer(E e) { return false; } @Override public E remove() { return null; } @Override public E poll() { return null; } @Override public E element() { return null; } @Override public E peek() { return null; } }