public class Set { private Node first; private int length; private Node last; /** * Konstruktor, legt leeres Set an */ public Set(){ this.first = null; length = 0; this.last= null; } /** * Gibt zurück, ob die Liste leer ist (true heißt leer) */ public boolean isEmpty(){ return this.first == null; } /** * Gibt die Länge der Liste zurück */ public int size(){ return this.length; } public T get (int n){ Node current = this.first; for ( int i = 0; i < n ; i++ ){ if (current == null)return null; current = current.next; } if (current == null ) return null; return current.wert; } private Node getNode (int n){ Node current = this.first; for ( int i = 0; i < n ; i++ ){ if (current == null)return null; current = current.next; } if (current == null ) return null; return current; } public void add (T val){ } public boolean contains (T val){ Node current = this.first; while(current != null){ if(current.wert == val) return true; current = current.next; } return false; } public void remove(T val){ Node current = this.first; int count = 0; while (current != null){ if (current.next.wert == val){ this.remove(count); } count++; } } private T remove(int n){ if (this.length <= n ) return null; if ( n == 0) { T ret = this.first.wert; this.first = this.first.next; this.length--; return ret; } T ret = getNode(n).wert; if (getNode(n-1).next.next == null) this.last = getNode(n-1); getNode(n-1).next = getNode(n-1).next.next; length--; return ret; } /*public String toString(){ Node current = this.first; String tmp = ""; while (current != null){ tmp = tmp + (String)current.wert; current = current.next; } return tmp; }*/ }