Search

ArrayDeque

부모클래스
Deque
기능
다중 선택
선택
ArrayDeque는 Java Collection Framework(JCF)의 일부로, 더블 엔디드 큐(Double Ended Queue)를 구현한 클래스입니다. 이는 양쪽 끝에서 요소를 추가하거나 제거할 수 있는 자료구조로, 스택과 큐의 기능을 모두 갖추고 있습니다.
내부적으로 ArrayDeque는 동적 배열을 사용하여 요소를 저장합니다. 이로 인해 ArrayDequeLinkedList보다 빠른 접근 시간을 제공하며, 메모리 사용량도 더 적습니다. 또한, ArrayDequeStack 클래스보다 성능이 뛰어나므로 스택으로 사용할 때 권장되는 자료구조입니다.
ArrayDequeDeque 인터페이스를 구현하므로, addFirst, addLast, removeFirst, removeLast, peekFirst, peekLast 등의 메서드를 제공하며, 스택으로 사용할 경우 push(요소 추가), pop(가장 최근 요소 제거 및 반환), peek(가장 최근 요소 확인) 등의 메서드를 사용할 수 있습니다.
다만, ArrayDequenull 요소를 허용하지 않으며, 동기화를 지원하지 않습니다. 따라서 멀티스레드 환경에서는 별도의 동기화 처리가 필요합니다.
다음은 ArrayDeque를 스택으로 사용하는 예제 코드입니다.
ArrayDeque<Integer> stack = new ArrayDeque<Integer>(); // 요소 추가 stack.push(1); stack.push(2); stack.push(3); // 가장 최근 요소 확인 System.out.println(stack.peek());// 출력: 3 // 가장 최근 요소 제거 및 반환 System.out.println(stack.pop()); // 출력: 3 System.out.println(stack.pop()); // 출력: 2 System.out.println(stack.pop()); // 출력: 1
Java
복사
메서드