큐 (Queue) - 스택과 마찬가지로 삽입과 삭제의 위치가 제한된 유한 순서 리스트 - 선입선출 구조(FIFO, First-In-First-Out) : 삽입 순으로 나열되어 가장 먼저 삽입한 원소가 가장 먼저 삭제된다.
import java.util.Queue;
import java.util.LinkedList;
Queue<자료형> 변수명 = new LinkedList<>();
ㄴ 위 같은 경우는 자료형에 넣은 자료형만 삽입, 삭제 가능
Queue 변수명 = new LinkedList();
ㄴ 위 같은 경우는 어떤 자료형이든 삽입, 삭제 가능(이전에 int형을 넣었어도 String형 삽입 가능)
Queue<자료형> q = new LinkedList<>();
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의 자료형): 큐 head에 위치한 value / 공백 큐이면 Exception("NoSuchElementException") 발생
q.peek();
ㄴ 반환 값(큐 head에 위치한 value의 자료형): 큐 head에 위치한 value / 공백 큐이면 null 반환
q.clear();
ㄴ 반환 값(void): X
q.size();
ㄴ 반환 값(int): 큐 사이즈 반환
q.contains(찾을 value);
ㄴ 반환 값(boolean): 해당 값이 존재할 때 true / 해당 값이 없을 때 false 반환
q.isEmpty();
ㄴ 반환 값(boolean): 공백 큐이면 true / 공백 큐가 아니면 false 반환