package java.util; import org.checkerframework.checker.lock.qual.*; // Subclasses of this interface/class may opt to prohibit // null elements public interface Deque<E extends Object> extends Queue<E> { public abstract void addFirst(E a1); public abstract void addLast(E a1); public abstract boolean offerFirst(E a1); public abstract boolean offerLast(E a1); public abstract E removeFirst(); public abstract E removeLast(); public abstract E getFirst(); public abstract E getLast(); public abstract E peekFirst(); public abstract E peekLast(); public abstract boolean removeFirstOccurrence(Object a1); public abstract boolean removeLastOccurrence(Object a1); public abstract boolean add(E a1); public abstract boolean offer(E a1); public abstract E remove(); public abstract E poll(); public abstract E pollFirst(); public abstract E pollLast(); public abstract E element(); public abstract E peek(); public abstract void push(E a1); public abstract E pop(); public abstract boolean remove(Object a1); public abstract boolean contains(@GuardSatisfied Deque<E> this,Object a1); public abstract int size(@GuardSatisfied Deque<E> this); public abstract Iterator<E> iterator(); public abstract Iterator<E> descendingIterator(); public abstract boolean isEmpty(@GuardSatisfied Deque<E> this); }