[JAVA] Priority Queue

[JAVA] Priority Queue

Priority Queue

우선순위 큐는 먼저 들어온 순서대로 데이터가 나가는 것이 아닌 우선순위를 먼저 결정하고 우선순위가 높은 원소가 먼저 나가는 자료구조입니다.

보통 힙을 이용하여 구현하는 것이 일반적입니다.

PriorityQueue pq = new PriorityQueue<>(); PriorityQueue pq = new PriorityQueue<>(Collections.reverseOrder());

첫 줄은 낮은 숫자 순, 두번째 줄은 높은 숫자순 우선순위 큐입니다.

메소드 종류

add(), offer() 우선순위 큐에 요소를 삽입합니다. 넣어지면서 동시에 정렬도 알아서 합니다.

clear() 우선순위 큐의 모든 요소를 삭제합니다.

contains(값) 해당 큐에 값이 있다면 true를 반환합니다.

peek() 해당 큐의 맨 첫 번째 요소를 검색합니다. 하지만 제거하지는 않습니다. 만약 큐가 비어있다면 null 반환.

poll() 해당 큐의 맨 첫 번째 요소를 가져옴과 동시에 삭제합니다. 만약 큐가 비어있다면 null 반환.

remove(값) 해당 큐에서 값을 삭제합니다.

from http://soobinhand.tistory.com/45 by ccl(A) rewrite - 2021-10-30 02:28:19