[java] 자바 힙을 이용한 우선순위 큐 구현 예시
우선순위 큐는 데이터를 다음에 처리될 순서대로 유지하는 자료 구조입니다. 이러한 큐는 힙(Heap)을 사용하여 구현할 수 있습니다. 아래는 자바를 사용하여 힙을 이용한 우선순위 큐를 구현하는 예시입니다.
1. 우선순위 큐 클래스 정의
import java.util.*;
public class PriorityQueueExample {
public static void main(String[] args) {
PriorityQueue<Integer> pq = new PriorityQueue<>();
pq.add(10);
pq.add(30);
pq.add(20);
System.out.println("Priority Queue: " + pq);
while (!pq.isEmpty()) {
System.out.println("Next item to be processed: " + pq.poll());
}
}
}
위 예시에서는 PriorityQueue
클래스를 사용하여 우선순위 큐를 구현했습니다.
2. 실행 결과
Priority Queue: [10, 30, 20]
Next item to be processed: 10
Next item to be processed: 20
Next item to be processed: 30
3. 설명
PriorityQueue
클래스는 힙을 기반으로 한 우선순위 큐를 구현하는 데 사용됩니다.add()
메서드를 사용하여 요소를 큐에 추가하고,poll()
메서드를 사용하여 우선순위가 가장 높은 요소를 가져올 수 있습니다.
이 예시를 통해 자바에서 힙을 이용한 우선순위 큐를 구현하는 방법을 살펴보았습니다.
위의 예제는 Java의 내장 우선순위 큐 클래스를 사용하여 구현되었으며, 실제 프로덕션 환경에서는 더 많은 기능과 예외 처리가 필요할 수 있습니다.