큐 게임을 하면 자주 듣게된다. 큐잡혔다! 의 큐가 이 큐이다.
First In First Out 구조를 가진 자료구조이다. 먼저 들어온 것이 먼저 나간다.
자바 공식문서의 Queue인터페이스인데 6개밖에 없다.
add - offer
element - peek
poll - remove
이렇게 짝이 이루어진다. 차이점은 예외를 발생시키냐 아니면 특별한값(null, boolean)을 반환하냐이다.
offer, peek, remove만 인터페이스에 넣겟다.
package interface_form;
public interface Queue<E> {
/**
* 큐의 가장 마지막에 요소를 추가합니다.
*
* @param e 큐에 추가할 요소
* @return 큐에 요소가 정상적으로 추가되었을 경우 true를 반환
*/
boolean offer(E e);
/**
* 큐의 첫 번째 요소를 삭제하고 삭제 된 요소를 반환합니다.
*
* @return 큐의 삭제 된 요소 반환
*/
E poll();
/**
* 큐의 첫 번째 요소를 반환합니다.
*
* @return 큐의 첫 번째 요소 반환
*/
E peek();
}
Queue인터페이스를 토대로 만들것들이다.
ArrayQueue, LinkedQueue, Deque, PriorityQueue
참고
https://st-lab.tistory.com/181