Priority Queue 는 우선순위 Queue 인 자료구조 이다.
주로 Heap 자료구조를 이용해 구현된다.
우선순위 큐에는 최소 우선순위 큐와 최대 우선순위 큐가 있는데 최소 우선순위 큐는 Heap의 루트(root)가 최솟값가 되도록 생성되고 반대로 최대 우선순위 큐는 최댓값이 되도록 생성된다.
선언 방법
//최소 우선순위 큐
PriorityQueue<Integer> minHeap = new PriorityQueue<>();
//최대 우선순위 큐
PriorityQueue<Integer> maxHeap = new PriorityQueue<>(Comparator.reverseOrder());
Priority Queue 의 default 가 minHeap 이기 때문에 min 에는 따로 설정할 게 없지만 MaxHeap 으로 할 때는 순서를 반대로 해주면 된다.
끝!
'Java' 카테고리의 다른 글
[EEROR] java.lang.IllegalStateException: Failed to load property source from location 'classpath:/application.yml' (0) | 2020.07.04 |
---|---|
[OOP] SRP 와 객체의 역할, 책임의 충돌 (1) | 2020.02.06 |
[Java] Java 에는 pair(c++) 가 외없데? (0) | 2019.12.19 |
[Java] 자바로 2차원 배열 2번째 element 까지 정렬하기, Comparator (0) | 2019.12.16 |
[OOP] 책임과 역할의 차이 그리고 타입의 구현 방법 (0) | 2019.12.15 |