티스토리 뷰

자바의 **우선순위 큐 (Priority Queue)**는 큐와 비슷하게 요소들을 저장하고 꺼낼 수 있는 자료 구조입니다. 하지만 일반 큐와 달리, 요소들이 우선순위에 따라 정렬됩니다. 즉, 요소를 꺼낼 때는 큐에서 가장 높은 우선순위를 가진 요소가 먼저 나옵니다. 자바에서는 PriorityQueue 클래스가 이 기능을 제공합니다. 기본적으로 자연 순서에 따라 정렬되며, 사용자 정의 비교자를 사용하여 커스텀 우선순위를 지정할 수도 있습니다. 우선순위큐의 간단한 사용방법에 대해 알아보겠습니다.

 

1. 선언

PriorityQueue<Integer> pq = 
	new PriorityQueue<>(); // 정순
    
PriorityQueue<Integer> pq = 
	new PriorityQueue<>(Collections.reverseOrder()); // 역순
    
PriorityQueue<Task> pq = 
	new PriorityQueue<>(Comparator.comparingInt(Task::getProcess)); // 객체이용

 

2. 입력

// 숫자 입력
pq.add(10);

// 객체 입력
pq.add(new Task(10, 20));

 

3. 출력

pq.peek(); // 현재값 출력



4. 삭제

pq.poll(); // 현재값 출력 후 제거
pq.remove(10); // 인자값 제거



감사합니다.

최근에 올라온 글
Total
Today
Yesterday