[Java] ArrayDeque

gyeol·2025년 11월 19일

자바

목록 보기
23/24
post-thumbnail

ArrayDeque

ArrayDequeDeque처럼 양 끝의 데이터를 편리하게 추가하고 제거할 수 있다. Java에서 Deque 인터페이스는 크기를 조절할 수 있는 배열에 요소를 저장한다. ArrayDeque는 이 Deque 인터페이스를 구현한다.

  • 데이터 추가,삭제 연산의 시간 복잡도 O(1)
  • 자료 구조 크기에 제한이 없음
  • 메모리 오버헤드 발생하지 않음
  • thread-safe 함
    Collections.synchronizedDeque으로 thread-safe하게 사용할 수 있음
  • null을 허용하지 않음

메서드

  1. 생성자
// 기본 생성자
ArrayDeque<Integer> arrayDeque = new ArrayDeque<>();
// Collection으로 생성
ArrayDeque<Integer> arrayDeque = new ArrayDeque<>(arr);
  1. 데이터 추가
arrayDeque.addLast(3);
arrayDeque.addFirst(1);
arrayDeque.add(2);
  1. 데이터 포함 여부 확인
boolean flag = arrayDeque.contains(5);
  1. 데이터 조회
int first = arrayDeque.getFirst();
int last = arrayDeque.getLast();
  1. 데이터 삭제
// 값이 없을 경우 null 반환
arrayDeque.poll(); 

// 값이 없을 경우 null 반환
arrayDeque.pollFirst();
arrayDeque.pollLast();
arrayDeque.removeFirst();
arrayDeque.removeLast();

// 특정 요소 제거 -> boolean 리턴
arrayDeque.removeFirstOccurrence(5);
arrayDeque.removeLastOccurrence(5);
profile
공부 기록 공간 '◡'

0개의 댓글