일반적인 큐는 fifo. 즉, 먼저 들어간 데이터가 먼저 나가는 구조이다.
반면에 우선순위 큐는 들어가는 순서랑 상관없이, 우선순위가 높은 데이터가 먼저 나간다.
우선순위 큐의 경우 힙 자료구조를 통해서 구현된다.
기본
(작은수→ 큰 수 순서대로)
PriorityQueue<Integer> queue = new PriorityQueue<>();
reverse (큰 숫자 먼저 나옴)
PriorityQueue<Integer> queue = new PriorityQueue<>(Collections.reverseOrder());
add() : 원소 추가 → 큐가 꽉 찬 경우 에러 발생시킴
offer() : 원소 추가 → 값 추가 실패 시 return false
poll () : 원소 꺼냄. + 그 원소 제거 → 비어있으면 null
remove() : 원소 꺼냄 + 그 원소 제거 → 비어있으면 error
isEmpty() : 원소 꺼냄 + 그 원소 제거 → 비어있으면 error
clear() : 큐 초기화