API_Deque

Dev.Hammy·2024년 1월 15일

Java API

목록 보기
5/15

Deque(데크) 인터페이스

일반적으로 데크(deck)라고 발음되는 데크(deque)는 양방향(double-ended) 큐입니다. double-ended queue는 양쪽 끝점에서 요소의 삽입 및 제거를 지원하는 선형(linear) 요소 모음입니다. Deque 인터페이스는 Stack과 Queue를 동시에 구현하기 때문에 Stack과 Queue보다 더 풍부한 추상(abstract) 데이터 유형입니다. Deque 인터페이스는 Deque 인스턴스의 양쪽 끝에 있는 요소에 액세스하는 메서드를 정의합니다. 요소를 삽입(insert), 제거(remove) 및 검사(examine)하는 방법이 제공됩니다. ArrayDequeLinkedList와 같은 미리 정의된 클래스는 Deque 인터페이스를 구현합니다.

Deque 인터페이스는 후입선출(last-in-first-out) 스택과 선입선출(first-in-first-out) 큐 모두로 사용될 수 있습니다. Deque 인터페이스에 제공된 메소드는 세 부분으로 나뉩니다.

Insert

addfirstofferFirst 메소드는 Deque 인스턴스의 시작 부분에 요소를 삽입합니다. addLastofferLast 메소드는 Deque 인스턴스의 끝에 요소를 삽입합니다. Deque 인스턴스의 용량(capacity)이 제한(restricted)되는 경우 addFirst는 용량이 가득 찼을 때 예외를 발생시키지 못할 수 있으므로 선호되는 메소드는 offerFirstofferLast입니다.

Remove

removeFirstpollFirst 메소드는 Deque 인스턴스의 시작 부분에서 요소를 제거합니다. removeLastpollLast 메소드는 끝에서 요소를 제거합니다. Deque가 비어 있으면 pollFirstpollLast 메소드는 null을 반환하는 반면, removeFirstremoveLast 메소드는 예외를 발생시킵니다.

Retrieve

getFirstpeekFirst 메소드는 Deque 인스턴스의 첫 번째 요소를 검색합니다. 이러한 메서드는 Deque 인스턴스에서 값을 제거하지 않습니다. 마찬가지로 getLastpeekLast 메소드는 마지막 요소를 검색합니다. deque 인스턴스가 비어 있으면 getFirstgetLast 메서드는 예외를 발생시키는 반면, peekFirstpeekLast 메서드는 NULL을 반환합니다.

Deque 요소의 삽입, 제거 및 검색을 위한 12가지 방법은 다음 표에 요약되어 있습니다.

Deque Methods
Type of Operation First Element (Beginning of the Deque instance) Last Element (End of the Deque instance)
Insert addFirst(e)
offerFirst(e)
addLast(e)
offerLast(e)
Remove removeFirst()
pollFirst()
removeLast()
pollLast()
Examine getFirst()
peekFirst()
getLast()
peekLast()
Deque 인스턴스를 삽입, 제거 및 검사하는 이러한 기본 메소드 외에도 Deque 인터페이스에는 미리 정의된 메소드가 더 있습니다. 그 중 하나는 `removeFirstOccurence`입니다. 이 메소드는 Deque 인스턴스에 지정된 요소가 존재하면 그 중 첫 번째 요소를 제거합니다. 요소가 존재하지 않으면 Deque 인스턴스는 변경되지 않은 상태로 유지됩니다. 또 다른 유사한 방법은 `removeLastOccurence`입니다. 이 메소드는 Deque 인스턴스에서 지정된 요소의 마지막 항목을 제거합니다. 이러한 메서드의 반환 유형은 boolean이며 해당 요소가 Deque 인스턴스에 있으면 `true`를 반환합니다.

0개의 댓글