먼저 들어오는 데이터가 먼저 나가게 되는 선입선출(First In First Out: FIFO)의 자료구조이다. 대기열이라고도 하며 원형 큐, 우선순위 큐, Deque(Double Ended Queue) 등의 변형이 존재한다.
큐의 후단(rear)에 요소를 삽입하는 연산을 Enqueue, 전단(front)에 요소를 삭제하는 연산을 Dequeue라고 한다.
java.util에 있는 클래스로 Collection<E> 인터페이스를 상속받는다.public interface Queue<E> extends Collection<E> {
// Enqueue 연산
boolean add(E e);
boolean offer(E e);
// Dequeue 연산
E remove();
E poll();
// ...
}| 연산 | 예외 발생 | 값 반환 |
|---|---|---|
| 삽입(Enqueue) | add(E e) | offer(E e) |
| 삭제(Dequeue) | remove() | poll() |