
Queue 인터페이스의 구현체 중의 하나로, 저장한 순서에 관계없이 우선순위(Priority)가 높은 것부터 꺼내게 된다든 특징을 가진다. 저장공간으로 배열을 사용하며 각 요소를 힙(heap)이라는 자료구조의 형태로 저장한다. 힙은 이진 트리의 한 종류로 가장 큰 값이나 가장 작은 값을 빠르게 찾을 수 있다는 특징이 있다.
반환타입이 boolean인 메서드들은 작업에 성공하거나 사실이면 true, 아니면 false를 반환한다.
| 메서드 | 기능 |
|---|---|
| PriorityQueue() | 초기 용량이 11인 빈 PriorityQueue를 생성 |
| PriorityQueue(int initialCapacity) | 지정된 초기 용량을 갖는 빈 PriorityQueue를 생성 |
| PriorityQueue(Collection c) | 지정된 컬렉션(c)의 요소들을 포함하는 PriorityQueue를 생성 |
| PriorityQueue(Comparator comparator) | 지정된 비교자를 사용하여 순서를 결정하는 빈 PriorityQueue를 생성 |
| PriorityQueue(int initialCapacity, Comparator comparator) | 지정된 초기 용량과 비교자를 사용하는 빈 PriorityQueue를 생성 |
| 메서드 | 기능 |
|---|---|
| boolean add(Object o) boolean addAll(Collection c) | 지정된 객체(o) 또는 Collection(c)의 객체들을 PriorityQueue에 추가. add(Object o) 사용 시 저장공간이 부족하면 IllegalStateException 발생 |
| 메서드 | 기능 |
|---|---|
| boolean contains(Object o) boolean containsAll(Collection c) | 지정된 객체(o) 또는 Collection(c)의 객체들이 포함되어 있는지 확인. |
| 메서드 | 기능 |
|---|---|
| boolean remove(Object o) boolean removeAll(Collection c) | 지정된 객체(o) 또는 Collection(c)의 객체들을 삭제. |
| boolean retainAll(Collection c) | 지정된 Collection에 포함된 객체만을 남기고, 다른 객체들은 PriorityQueue에서 삭제 집합의 교집합 개념과 유사함. |
| void clear() | PriorityQueue의 모든 객체를 삭제 |
다음의 메서드는 예외를 발생시키는 메서드이다.
| 메서드 | 기능 |
|---|---|
| boolean add(Object o) | 지정된 객체를 PriorityQueue에 추가. 저장공간이 부족하면 IllegalStateException 발생 |
| Object remove() | PriorityQueue에서 첫번째 객체를 꺼내 반환. 비어있으면 NoSuchElementException 발생 |
| Object element() | 삭제없이 첫번째 요소를 읽음. 비어있으면 NoSuchElementException 발생 |
다음의 메서드는 예외를 발생시키지 않는 메서드이다.
| 메서드 | 기능 |
|---|---|
| boolean offer(Object o) | PriorityQueue에 객체를 저장 |
| Object poll() | PriorityQueue에서 첫번째 객체를 꺼내서 반환 비어있으면 null을 반환 |
| Object peek() | 삭제없이 첫번째 요소를 읽음 비어있으면 null을 반환 |
| 메서드 | 기능 |
|---|---|
| boolean equals(Object o) | 동일한 PriorityQueue인지 확인 |
| int hashCode() | PriorityQueue의 해시 코드를 반환 |
| 메서드 | 기능 |
|---|---|
| Iterator iterator() | 해당 PriorityQueue의 iterator를 얻어서 반환 |
| 메서드 | 기능 |
|---|---|
| boolean isEmpty() | PriorityQueue가 비어있는지 확인 |
| int size() | PriorityQueue에 저장된 객체의 개수를 반환 |
| Comparator comparator() | PriorityQueue에서 사용되는 비교자를 반환. 사용된 비교자가 없다면 null을 반환 |
| 메서드 | 기능 |
|---|---|
| Object[] toArray() | PriorityQueue에 저장된 객체를 객체배열(Object[])로 반환 |
| Object[] toArray(Object[] a) | 지정된 배열에 PriorityQueue의 객체를 저장해서 반환 |
자바의 정석 3판 (저자 : 남궁성)
Java Collections Framework Video Tutorial
오라클 Java 문서