본문 바로가기


Java

[JAVA] PriorityQueue in Java

Priority Queue 는 우선순위 Queue 인 자료구조 이다.

주로 Heap 자료구조를 이용해 구현된다.

 

우선순위 큐에는 최소 우선순위 큐와 최대 우선순위 큐가 있는데 최소 우선순위 큐는 Heap의 루트(root)가 최솟값가 되도록 생성되고 반대로 최대 우선순위 큐는 최댓값이 되도록 생성된다. 

 

선언 방법

//최소 우선순위 큐
PriorityQueue<Integer> minHeap = new PriorityQueue<>();
                
//최대 우선순위 큐
PriorityQueue<Integer> maxHeap = new PriorityQueue<>(Comparator.reverseOrder());

Priority Queue 의 default 가 minHeap 이기 때문에 min 에는 따로 설정할 게  없지만 MaxHeap 으로 할 때는 순서를 반대로 해주면 된다.

 

끝!