import java.util.ArrayList; import java.util.List; /** * 像栈一样,队列也是表。 然而使用队列时插入在一端进行而删除则在另一端进行。 * * @author Thief * * @param <E> */ public class Queue<E> { private List<E> queue = new ArrayList<E>(); /** * 入队 * * @param e */ public void enqueue(E e) { queue.add(e); } /** * 出队 * * @param e * 队首元素 */ public E dequeue() { E e = isEmpty() ? null : queue.get(0); if (e != null) { queue.remove(0); } return e; } /** * 判断当前队列是否为空 * * @return */ public boolean isEmpty() { return queue.isEmpty(); } }