【Java】Queue, Deque, Stack의 관계
Queue, Deque, Stack 메서드를 비교할 수 있는 그림을 만들었습니다. (이 그림이 의외로 발견되지 않았다.)
메서드에는 각각 두 가지 형식이 있습니다.
하나는 조작이 실패했을 때에 예외를 슬로우 해, 다른 하나는 특수한 값 (조작에 따라 null 또는 false)을 돌려줍니다.
큐
Queue
조작
위치
방법
설명
삽입
후미
boolean add(E e)
요소가 추가되지 않은 경우 예외를 throw
boolean offer(E e)
요소가 추가되지 않으면 false를 반환합니다.
삭제
선두
E remove()
큐가 하늘의 경우는 NoSuchElementException를 슬로우
E poll()
큐가 비어 있으면 null을 반환합니다.
검사
선두
E element()
큐가 하늘의 경우는 NoSuchElementException를 슬로우
E peek()
큐가 비어 있으면 null을 반환합니다.
Deque
Deque
조작
위치
방법
설명
삽입
후미
boolean add(E e)
요소가 추가되지 않은 경우 예외를 throw
void addLast (E e)
〃
boolean offer(E e)
요소가 추가되지 않으면 false를 반환합니다.
boolean offerLast(E e)
〃
선두
void push(E e)
요소가 추가되지 않은 경우 예외를 throw
void addFirst (E e)
〃
boolean offerFirst(E e)
요소가 추가되지 않으면 false를 반환합니다.
삭제
후미
E removeLast()
양단 큐가 하늘의 경우는 NoSuchElementException를 슬로우
E pollLast()
양단 큐가 비어 있으면 null을 반환합니다.
선두
E remove()
양단 큐가 하늘의 경우는 NoSuchElementException를 슬로우
E removeFirst()
〃
E poll()
양단 큐가 비어 있으면 null을 반환합니다.
E pollFirst()
〃
검사
후미
E getLast()
양단 큐가 하늘의 경우는 NoSuchElementException를 슬로우
E peekLast()
양단 큐가 비어 있으면 null을 반환합니다.
선두
E element()
양단 큐가 하늘의 경우는 NoSuchElementException를 슬로우
E getFirst()
〃
E peek()
양단 큐가 비어 있으면 null을 반환합니다.
E peekFirst()
〃
스택
스택
조작
위치
방법
설명
삽입
선두
E add (E e)
추가한 요소 반환
삭제
선두
E pop()
스택이 비어 있으면 EmptyStackException을 throw
검사
선두
E peek()
스택이 비어 있으면 EmptyStackException을 throw
클래스 다이어그램
주요 수업을 게시.
BlockingDeque: 요소를 취득할 때 양단 큐가 비어 있지 않을 때까지 대기, 또는 요소의 삽입시에 양단 큐에 빈 상태가 될 때까지 대기하는 블록 조작을 서포트하는 Deque.
Reference
이 문제에 관하여(【Java】Queue, Deque, Stack의 관계), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/kyonc5/items/c2b00ad6c0c21005ed73텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)