일반적인 큐는 fifo. 즉, 먼저 들어간 데이터가 먼저 나가는 구조이다.

반면에 우선순위 큐는 들어가는 순서랑 상관없이, 우선순위가 높은 데이터가 먼저 나간다.

우선순위 큐의 경우 힙 자료구조를 통해서 구현된다.

priorityQueue 선언 방법

기본

(작은수→ 큰 수 순서대로)

PriorityQueue<Integer> queue = new PriorityQueue<>();

reverse (큰 숫자 먼저 나옴)

PriorityQueue<Integer> queue = new PriorityQueue<>(Collections.reverseOrder());

기본적인 메소드

add() : 원소 추가 → 큐가 꽉 찬 경우 에러 발생시킴

offer() : 원소 추가 → 값 추가 실패 시 return false

poll () : 원소 꺼냄. + 그 원소 제거 → 비어있으면 null

remove() : 원소 꺼냄 + 그 원소 제거 → 비어있으면 error

isEmpty() : 원소 꺼냄 + 그 원소 제거 → 비어있으면 error

clear() : 큐 초기화