Vienna
Chapter 11) 컬렉션 프레임워크 - PriorityQueue와 Deque 본문
◇ PriorityQueue
Queue 인터페이스의 구현체 중의 하나. 저장한 순서에 관계 없이 우순선위가 높은 것부터 꺼내게 된다는 특징이 있다.
그리고 null 또한 저장할 수 없다! (null을 저장하려 시도한다면 nullPointerException이 발생.)
저장 공간을 배열로 사용하며, 각 요소를 힙(heap) 자료구조의 형태로 저장한다.
import java.util.*;
public class Main {
public static void main(String[] args) {
Queue pq = new PriorityQueue();
pq.offer(3); // 오토 박싱이 일어난다. pq.offer(new Integer(3));
pq.offer(1);
pq.offer(4);
pq.offer(5);
pq.offer(2);
System.out.println(pq);
Object obj = null;
while((obj = pq.poll())!=null){
System.out.println("obj = " + obj);
}
}
}
◇ Deque
Queue의 변형으로, 한 쪽 끝으로만 추가/삭제할 수 있는 Queue와 달리, Deque은 양쪽 끝에 추가/삭제가 가능.
'언어 > Java의 정석' 카테고리의 다른 글
Chapter 11) 컬렉션 프레임워크 - Properties (0) | 2023.05.21 |
---|---|
Chapter 11) 컬렉션 프레임워크 - TreeMap (0) | 2023.05.21 |
Chapter 11) 컬렉션 프레임워크 - LinkedList (0) | 2023.05.13 |
Chapter 11) 컬렉션과 프레임워크 - HashMap과 HashTable (0) | 2023.05.11 |
Chapter 9) java.lang 패키지와 유용한 클래스 - java.util.StringTokenizer (0) | 2023.05.10 |
Comments