특징
•
FIFO 구조 : 가장 먼저 들어온 요소가 가장 먼저 처리된다.
•
한쪽에서는 삽입만 일어나고 다른 한쪽에서는 삭제 연산만 이루어지는 순서 리스트다.
•
Front는 삭제 연산만 수행하고 Rear는 삽입 연산만 수행한다.
•
보통 BFS 넓이 우선 탐색에서 사용한다.
Method
Queue<자료형> q = new LinkedList<>();
// 삽입
// 둘 다 동일하게 성공 시 true 반환
q.add(value); // 실패 시 Exception 발생
q.offer(value); // 실패 시 false 반환
// 삭제
q.remove(value의 자료형); // 성공 시 삭제된 value 반환, 공백 큐일 시 NoSuchElementEx 발생
q.remove(value); // 성공 true, 실패 false
q.poll(value); //성공 시 삭제된 value 반환
// 큐의 front 값 반환
q.element(); // 공백 큐일 경우 NoSuchElementException 발생
q.peek(); // 공백 큐이면 null 반환
// 큐 초기화
q.clear(); // void 반환 없음
// 큐에 원소 존재 유무
q.contains(value); // true, false 반환
// 사이즈
q.size(); // 반환 값 int
// 공백 큐 확인
q.isEmpty(); // true, false 반환
Java
복사
Queue<Integer> queue = new PriorityQueue<>(); // 우선순위 큐 (오름차순 정렬)
Queue<Integer> queue = new PriorityQueue<>(Collections.reverseOrder()); // (내림차순 정렬)
Java
복사