개발/자바

[java] 자바 우선순위 큐 PriorityQueue (힙 Heap)

Walon_ 2021. 11. 16. 16:21

PriorityQueue (우선순위 큐)

 

- 완전이진트리 방식 (heap)

- 최댓값 혹은 최솟값을 자주 구할때 사용한다.

 

 

PriorityQueue<Integer> minHeap = new PriorityQueue<>();   //최소힙
PriorityQueue<Integer> maxHeap = new PriorityQueue<>(Collections.reverseOrder());  //최대힙

heap.add(3);
heap.add(1);
heap.add(2);
heap.peek();
heap.poll();   // return 1

 

//comparable을 상속한 클래스로도 사용이 가능하다.

class Member implements Comparable<Member>{
    @Override
    public int compareTo(Member member) {
    	return this.age - member.age;
    }
}


PriorityQueue<Member> minHeap = new PriorityQueue<>();
PriorityQueue<Member> maxHeap = new PriorityQueue<>(Collections.reverseOrder());