Comparable Interface
를 구현해야 함 (우선순위 조건 만드는 것!)PriorityQueue
가 자동으로 높은 우선순위 요소를 먼저 꺼내어 처리import java.util.PriorityQueue;
import java.util.Collections;
// 낮은 숫자가 우선순위 - int형
PriorityQueue<Integer> priorityQueue = new PriorityQueue<>();
// 높은 숫자가 우선순위 - int형
PriorityQueue<Integer> priorityQueue = new PriorityQueue<>(Collections.reverseOrder());
// String 형도 마찬가지! <Integer 대신 String>
priorityQueue.add(1); // priorityQueue 값 1 추가
priorityQueue.add(2); // priorityQueue 값 2 추가
priorityQueue.offer(3); // priorityQueue 값 3 추가
이미지 출처 : https://coding-factory.tistory.com/603
priorityQueue.poll(); // 첫번째 값 반환 후 제거
priorityQueue.remove(); // 첫번째 값 제거
이미지 출처 : https://coding-factory.tistory.com/603
priorityQueue.clear(); // 초기화
priorityQueue.peek(); // 우선순위가 가장 높은 값 출력
// int형 PriorityQueue 선언
PriorityQueue<Integer> priorityQueue = new PriorityQueue<>();
priorityQueue.add(1); // priorityQueue 값 1 추가
priorityQueue.add(2); // priorityQueue 값 2 추가
priorityQueue.offer(3); // priorityQueue 값 3 추가
priorityQueue.peek(); // 가장 작은 숫자인 1 반환