[JAVA] Queue(큐)& Deque(덱) 라이브러리 정리
Queue(큐)
- 선입선출(FIFO) : 먼저 들어온 데이터가 먼저 나간다.
- LILO(Last-in, Last- Out)
- 스택과는 반대개념
- import java.util.*;
- Queue<T> queue = new LinkedList<>();
ex) Queue<String> q = new LinkedList<>();
<Queue>
1. add() : 큐에 데이터 삽입
2. peek() : 가장 먼저 큐에 들어간 데이터 반환
3. remove() : 가장 먼저 큐에 들어간 데이터 삭제 및 반환
4. isEmpty() : 큐가 비어있는지 반환
5. size() : 큐에 있는 요소의 크기 반환
Deque(덱)
- Double-ended queue의 줄임말
- 연결리스트로 이루어지며, 앞&뒤 모두 데이터의 삭제와 삽입이 일어남
- import java.util.LinkedList;
- import java.util.Queue;
- Deque<T> deque = new LinkedList<>();
ex) Deque<String> q = new LinkedList<>();
<Deque>
1. addFirst() : 앞에 요소 삽입
2. addLast() : 뒤에 요소 삽입
3. peekFirst() : 앞 요소 반환
4. peekLast() : 뒤 요소 반환
5. pollFirst() : 앞 요소 없애면서 반환
6. pollLast() : 뒤 요소 없애면서 반환
// 참고로, First, Last를 쓰지 않으면 default 값이 first다!
// 그래서 deque.add(3); 라고 적으면, deque.addFirst(3); 와 같다!