/*
 * โครงสร้างข้อมูล : ฉบับวาจาวา
 * http://www.cp.eng.chula.ac.th/~somchai/books
 */
package dataStructures;

import java.util.NoSuchElementException;

/**
 * คลาสที่สร้างแถวคอยด้วย ArrayList
 * @author สมชาย ประสิทธิ์จูตระกูล
 */
public class ArrayListQueue implements Queue {
  private List list;
  public ArrayListQueue(int cap) {
    list = new ArrayList(cap);
  }
  public boolean isEmpty() {return list.isEmpty();}
  public int size() {return list.size();}
  public void enqueue(Object e) {list.add(e);}
  public Object peek() {
    if (isEmpty()) throw new NoSuchElementException();
    return list.get(0);
  }
  public Object dequeue() {
    Object e = peek();
    list.remove(0);
    return e;
  }
}