- 덱(Deque)이란?
- Deque(Double Ended Queue)는 양쪽 끝에서 삽입과 삭제가 모두 가능한 자료구조입니다.
즉, 큐(Queue)와 스택(Stack)의 기능을 모두 갖춘 자료구조입니다.
Deque<Integer> deque = new LinkedList<>();
-
Deque는 다음과 같은 주요한 연산들을 지원합니다:
-
Push/Pop: 양쪽 끝에 요소를 추가하거나 제거합니다.
- addFirst(element): Deque의 맨 앞에 요소를 추가합니다.
- addLast(element): Deque의 맨 뒤에 요소를 추가합니다.
- removeFirst(): Deque의 맨 앞의 요소를 제거하고 반환합니다.
- removeLast(): Deque의 맨 뒤의 요소를 제거하고 반환합니다.
-
Peek: 양쪽 끝의 요소를 확인합니다. 제거하지 않고 요소를 반환합니다.
- peekFirst(): Deque의 맨 앞의 요소를 반환합니다.
- peekLast(): Deque의 맨 뒤의 요소를 반환합니다.
-
Size/Empty: Deque의 크기를 확인하고 비어 있는지 여부를 확인합니다.
- size(): Deque의 요소 개수를 반환합니다.
- isEmpty(): Deque가 비어 있는지 여부를 반환합니다.