Files
net_datastructures_5_sel_so…/net/datastructures/Deque.java

46 lines
1.2 KiB
Java

package net.datastructures;
//begin#fragment Deque
/**
* Interface for a deque: a collection of objects that are inserted
* and removed at both ends; a subset of java.util.LinkedList methods.
*
* @author Roberto Tamassia
* @author Michael Goodrich
*/
public interface Deque<E> {
/**
* Returns the number of elements in the deque.
*/
public int size();
/**
* Returns whether the deque is empty.
*/
public boolean isEmpty();
/**
* Returns the first element; an exception is thrown if deque is empty.
*/
public E getFirst() throws EmptyDequeException;
/**
* Returns the last element; an exception is thrown if deque is empty.
*/
public E getLast() throws EmptyDequeException;
/**
* Inserts an element to be the first in the deque.
*/
public void addFirst (E element);
/**
* Inserts an element to be the last in the deque.
*/
public void addLast (E element);
/**
* Removes the first element; an exception is thrown if deque is empty.
*/
public E removeFirst() throws EmptyDequeException;
/**
* Removes the last element; an exception is thrown if deque is empty.
*/
public E removeLast() throws EmptyDequeException;
}
//end#fragment Deque