- Stack과 Queue
- 스택(Stack)은 마지막에 저장한 데이터를 가장 먼저 꺼내는 LIFO(Last In First Out)구조임
- 큐(Queue)는 처음에 저장한 데이터를 가장 먼저 꺼내는 FIFO(First In First Out)구조임
- 순차적으로 데이터를 추가하고 삭제하는 스택에는 ArrayList와 같은 배열기반의 컬렉션 클래스가 적합함
- 큐는 항상 첫 번째 데이터를 삭제하므로 배열을 사용하면 항상 재배치가 일어나기 때문에 적합하지 않음
- 때문에, 큐는 데이터의 추가/삭제가 쉬운 LinkedList가 적합함
- PriorityQueue
- 저장한 순서에 관계없이 우선순위가 높은 것부터 꺼냄
- null은 저장할 수 없음
- PriorityQueue는 저장공간을 배열을 사용하며, 힙(Heap) 자료구조 형태로 저장함
- 💡 힙은 이진 트리의 한 종류로 가장 큰 값이나 가장 작은 값을 빠르게 찾을 수 있음
- Deque(Double-Ended Queue)
- 큐의 변형으로 양쪽 끝에 추가/삭제가 가능함
- 구현체로 ArrayList와 LinkedList 등이 있음
'자바의 정석 정리' 카테고리의 다른 글
자바의 정석 - 11.5 Iterator, ListIterator, Enumeration (0) | 2022.09.05 |
---|---|
자바의 정석 - 11.4 LinkedList (0) | 2022.09.05 |
자바의 정석 - 11.2 ArrayList (0) | 2022.09.05 |
자바의 정석 - 11.1 컬렉션 프레임웍 (0) | 2022.09.05 |
자바의 정석 - 16.7 UDP 소켓 프로그래밍 (0) | 2022.08.31 |