public interface IQueue <T>{ void enqueue (T e);//入队 T dequeue();//出队 public int getSize(); public boolean isEmpty(); public T peek();//取队首元素 } public class MyQueue<T> extends DoubleList<T> implements IQueue<T> { @Override public void enqueue(T e) { super.add(e); } @Override public T dequeue() { DoublelistNode h = head.next; head.next = h.next; h.next.pre = head; h.next = null; h.pre = null; size--; return (T) h.data; } @Override public int getSize() { return 0; } @Override public boolean isEmpty() { return size==0; } @Override public T peek() { DoublelistNode h = head.next; return (T) h.data; } }