프로그래밍/자바 클래스

자바 Deque (Double-Ended Queue)

Mt.Hwang 2025. 5. 24. 14:48

 * 자바 Deque (Double-Ended Queue)

양방향으로 삽입, 삭제가 가능한 큐

..~~~~..

 * 덱 생성

선언은
Deque<T> name


생성자는
new LinkedList<>()

..~~~~..

 * 메서드

기본적으로 큐와 동일
접미사로 First, Last가 붙은 것


offerFirst(T t) -> boolean : 덱에 공간이 없으면 flase

offerLast(T t) -> boolean : 뒤에 삽입. 실패 시 false

pollFirst() -> T : 앞에서 꺼냄 + 제거. 없으면 null

pollLast() -> T : 뒤에서 꺼냄 + 제거. 없으면 null

peekFirst() -> T : 앞 요소 조회. 없으면 null

peekLast() -> T : 뒤 요소 조회. 없으면 null

addFirst(T t) -> void : 앞에 삽입. 실패 시 예외 발생

addLast(T t) -> void : 뒤에 삽입. 실패 시 예외 발생

removeFirst() -> T : 앞 제거. 없으면 예외 발생

removeLast() -> T : 뒤 제거. 없으면 예외 발생

getFirst() -> T : 앞 조회. 없으면 예외 발생

getLast() -> T : 뒤 조회. 없으면 예외 발생

isEmpty() -> boolean : 비었는지 여부

size() -> int : 덱의 크기

clear() -> void : 덱 초기화

..~~~~..

 * 기타

삽입, 삭제의 시간복잡도는 모두 O(1)이다

..~~~~..