Algorithm

자바 PriorityQueue 간단 예제

OOOooOOoo·2020년 6월 14일·조회 5,289

1. 개요

자바 PriorityQueue에 대해 간단히 알아본다.

2. 코드

2.1. String 기반 (오름차순)

import java.util.PriorityQueue;

public class PQTest {
	public static void main(String[] args) {
		PriorityQueue<String> priorityQueue = new PriorityQueue<>();

		priorityQueue.add("naver");
		priorityQueue.add("hanmir");
		priorityQueue.add("empas");
		priorityQueue.add("daum");
		priorityQueue.add("altavista");
		priorityQueue.add("yahoo");
		priorityQueue.add("google");
		priorityQueue.add("sarc");

		while (priorityQueue.size() > 0) {
			String poll = priorityQueue.poll();
			System.out.println(poll);
		}
	}
}

[결과]

altavista
daum
empas
google
hanmir
naver
sarc
yahoo

2.2. String 기반 (내림차순)

Integer 같은 경우는 PriorityQueue<String> priorityQueue = new PriorityQueue<>(Collections.reverseOrder()); 를 사용하는 것만으로 구현 가능하지만 String은 그보다는 좀 더 복잡한 과정을 거쳐야 한다.

import java.util.Collections;
import java.util.PriorityQueue;

public class PQTest {
	public static void main(String[] args) {
		PriorityQueue<String> priorityQueue = new PriorityQueue<>();

		priorityQueue.add("naver");
		priorityQueue.add("hanmir");
		priorityQueue.add("empas");
		priorityQueue.add("daum");
		priorityQueue.add("altavista");
		priorityQueue.add("yahoo");
		priorityQueue.add("google");
		priorityQueue.add("sarc");

		PriorityQueue<String> reversedPriorityQueue = new PriorityQueue<String>(priorityQueue.size(), Collections.reverseOrder());
		reversedPriorityQueue.addAll(priorityQueue);
			
		while (reversedPriorityQueue.size() > 0) {
			String poll = reversedPriorityQueue.poll();
			System.out.println(poll);
		}
	}
}

[결과]

yahoo
sarc
naver
hanmir
google
empas
daum
altavista

댓글 0

로그인 후 댓글을 남길 수 있습니다.

아직 댓글이 없습니다.