Queue
public interface Queue<E> {
void enqueue(E e);
E dequeue();
E getFront();
int getSize();
boolean isEmpty();
}
ArrayQueue
package core.queuue;
import core.array.MyArrayList;
public class ArrayQueue<E> implements Queue<E> {
private MyArrayList<E> data ;
public ArrayQueue(){
data = new MyArrayList<E>();
}
public ArrayQueue(int capacity){
data = new MyArrayList<E>(capacity);
}
public void enqueue(E e) {
data.addLast(e);
}
public E dequeue() {
return data.removeFirst();
}
public E getFront() {
return data.getFirst();
}
public int getSize() {
return data.getSize();
}
public boolean isEmpty() {
return data.isEmpty();
}
public int getCapacity(){
return data.getCapacity();
}
@Override
public String toString() {
StringBuilder res = new StringBuilder();
res.append("Queue: ");
res.append(" front [");
for (int i = 0; i < data.getSize(); i++) {
res.append(data.get(i));
if (i != data.getSize()-1){
res.append(", ");
}
}
res.append("] tail");
return res.toString();
}
}