package 队列;/*
*
*/publicinterfaceQueue<E>{publicintgetSize();publicbooleanisEmpty();publicvoidenqueue(E e);public E dequeue();public E getFront();public E getRear();publicvoidclear();}
接口的实现
package 队列;/*
* 特殊的顺序表,
* 先进先出,在表尾入队,表头出队。
*/import 顺序表.ArrayList;publicclassArrayQueue<E>implementsQueue<E>{private ArrayList<E> queue;publicArrayQueue(int Capacity){
queue =newArrayList<>(Capacity);}publicArrayQueue(){this(10);}@Overridepublic String toString(){
StringBuilder str =newStringBuilder("[");if(isEmpty()){
str.append(String.format("]*%d/%d",getSize(),getCapacity()));}else{for(int i =0; i <getSize(); i++){if(i !=getSize()-1){
str.append(queue.get(i)+",");}else{
str.append(queue.get(i)+"]");}}
str.append(String.format("*%d/%d",getSize(),getCapacity()));}return str.toString();}@OverridepublicintgetSize(){// TODO Auto-generated method stubreturn queue.getSize();}@OverridepublicbooleanisEmpty(){// TODO Auto-generated method stubreturn queue.isEmpty();}@Overridepublicvoidenqueue(E e){// TODO Auto-generated method stub
queue.addLast(e);}@Overridepublic E dequeue(){// TODO Auto-generated method stubreturn queue.removeFirst();}@Overridepublic E getFront(){// TODO Auto-generated method stubreturn queue.getFirst();}@Overridepublic E getRear(){// TODO Auto-generated method stubreturn queue.getLast();}@Overridepublicvoidclear(){// TODO Auto-generated method stub
queue.clear();}publicintgetCapacity(){return queue.getCapacity();}}