
ArrayDeque은 Deque처럼 양 끝의 데이터를 편리하게 추가하고 제거할 수 있다. Java에서 Deque 인터페이스는 크기를 조절할 수 있는 배열에 요소를 저장한다. ArrayDeque는 이 Deque 인터페이스를 구현한다.
O(1)Collections.synchronizedDeque으로 thread-safe하게 사용할 수 있음null을 허용하지 않음// 기본 생성자
ArrayDeque<Integer> arrayDeque = new ArrayDeque<>();
// Collection으로 생성
ArrayDeque<Integer> arrayDeque = new ArrayDeque<>(arr);
arrayDeque.addLast(3);
arrayDeque.addFirst(1);
arrayDeque.add(2);
boolean flag = arrayDeque.contains(5);
int first = arrayDeque.getFirst();
int last = arrayDeque.getLast();
// 값이 없을 경우 null 반환
arrayDeque.poll();
// 값이 없을 경우 null 반환
arrayDeque.pollFirst();
arrayDeque.pollLast();
arrayDeque.removeFirst();
arrayDeque.removeLast();
// 특정 요소 제거 -> boolean 리턴
arrayDeque.removeFirstOccurrence(5);
arrayDeque.removeLastOccurrence(5);