public boolean remove(Object o) { throwEmptyException(); Node<E> node = header.next; while(node != null) { E value = node.value; if(value.equals(o)) { node.remove(); --size; return true; } node = node.next; } return false; } }
public E removeLast() { throwEmptyException(); --size; Node<E> node= header.prev; node.remove(); return node.value; }
public E removeFirst() { throwEmptyException(); --size; Node<E> node= header.next; node.remove(); return node.value; }
public E remove(int index) { throwEmptyException(); Node<E> node= getNode(index); node.remove(); --size; return node.value; }