
Interface of Bags, Queues, Stack.
Bag
public class Bag <Item> implements Iterable<Item>
{
Bag() //create an emtpy bag
void add(Item item) //add an item
boolean isEmpty() //is the bag empty?
int size() //number of items in the bag
}
FIFO queue
public class Queue<Item> implements Iterable<Item>
{
Queue();
void enqueue(Item item);
Item dequeue();
boolean isEmpty();
int size();
}
Pushdown(LIFO) stack
public class Stack<Item> implements Iterable<Item>
{
Stack()
void Push(Item item);
Item pop();
boolean isEmpty();
int size();
}
-------------------------------------------------------------------------------
APIs for fundamental generic iterable collections