public class List<T> { private Node<T> first; public List() { first = null; } public boolean isEmpty() { if(first == null) return true; return false; } public int size() { Node<T> current = first; int count = 0; while(current != null) { count ++; current = current.next; } return current; } public void add(T val) { Node<T> current = first; for(int i = 0;i < n;i++) { if(current == null) return null; current = current.next; } if(current == null) return null; return current.wert; } public void add(int n, T val) { if(n >= size()) { add(val); return; } if(n == 0) { neu.next = neu; first = neu; return; } Node<T> neu = new Node<T>(); neu.wert = val; Node<T> current = first; for(int i = 0; i < n -1;i++) { current = current.next; } neu.next = current.next; current.next = neu; } public boolean contains(T val) { Node<T> current = first; while(current != null) { if(current.wert.equals(val)) return true; } return false; } public T remove(int n) { Node<T> current = first; for(int i = 0;i < n-1; i++) { current = current.next; } T tmp = current.next.wert; current.next = current.next.next; return tmp; } public String toString() { String result = ""; Node<T> current = first; while ( current != null) { result += current.wert; current = current.next; } return result; } }