유블로그

[Java] Priority Queue 사용법 본문

Java

[Java] Priority Queue 사용법

yujeong kang 2020. 8. 23. 20:10

여러 개 중 하나를 꺼낼 때 우선순위 비교 method인 compareTo()를 사용한다.

compareTo에는 여러 개의 기준을 둘 수도 있다.

 

import java.util.PriorityQueue;

class Number implements Comparable<Number> {

	int a;
	
	Number(int a){
		this.a = a;
	}
	
	@Override
	public int compareTo(Number num) {
		return this.a - num.a;
	}
	
}

public class Test01 {
	public static void main(String[] args) {
		Number n1 = new Number(3);
		Number n2 = new Number(0);
		Number n3 = new Number(15);
		Number n4 = new Number(11);
		Number n5 = new Number(5);
		
		PriorityQueue<Number> pq = new PriorityQueue<>();
		pq.offer(n1);
		pq.offer(n2);
		pq.offer(n3);
		pq.offer(n4);
		pq.offer(n5);
		
		while(!pq.isEmpty()) {
			System.out.println(pq.poll().a);
		}
		
	}
}