큐(Queue)란, 사람 혹은 줄을 서서 기다리는 것을 의미하는데, 이처럼 줄을 지어 순서대로
처리되는 것이 큐라는 자료구조이다.
java.util.Queue
java.util.LinkedList
이 두개를 import
하여 사용할 수 있다.
import java.util.Queue;
import java.util.LinkedList;
Queue<자료형> 변수명 = new LinkedList<>();
- 위 같은 경우는 자료형에 넣은 자료형만 삽입, 삭제 가능
Queue 변수명 = new LinkedList();
- 위 같은 경우는 어떤 자료형이든 삽입, 삭제 가능(이전에 int형을 넣었어도 String형 삽입 가능)
q.add(삽입할 value);
ㄴ 반환 값(boolean): 삽입 성공 시 true / 실패 시 Exception발생
q.offer(삽입할 value);
ㄴ 반환 값(boolean): 삽입 성공 시 true / 실패 시 false 반환
q.remove();
ㄴ 반환 값(삭제된 value의 자료형): 삭제된 value / 공백 큐이면 Exception("NoSuchElementException") 발생
q.remove(삭제할 value);
ㄴ 반환 값(boolean): 큐에 해당 value가 존재하면 해당 값 삭제 후 true / 존재하지 않으면 false 반환
q.poll();
ㄴ 반환 값(삭제된 value의 자료형): 삭제된 value / 공백 큐이면 null 반환
q.element();
ㄴ 반환 값(큐 head에 위치한 value의 자료형): 큐 front에 위치한 value / 공백 큐이면 Exception("NoSuchElementException") 발생
q.peek();
ㄴ 반환 값(큐 head에 위치한 value의 자료형): 큐 front에 위치한 value / 공백 큐이면 null 반환
q.isEmpty();
ㄴ 반환 값(boolean): 공백 큐이면 true / 공백 큐가 아니면 false 반환
q.size();
ㄴ 반환 값(int): 큐 사이즈 반환