|
JavaTM Platform Standard Ed. 6 |
|||||||||
| 앞의 클래스 다음의 클래스 | 프레임 있어 프레임 없음 | |||||||||
| 개요: 상자 | 필드 | 생성자 | 메소드 | 상세: 필드 | 생성자 | 메소드 | |||||||||
E - 컬렉션내에 존재하는 요소의 형태public interface Deque<E>
양단으로 요소의 삽입 및 삭제를 지원하는 선형 컬렉션입니다. 「deque」라고 하는 이름은, 「double ended queue」 (양단 큐)의 생략형이며, 일반적으로은 「DEC」라고 발음됩니다. 대부분의 Deque 구현에서는, 포함 가능한 요소의 수에 고정된 제한은 없습니다. 다만 이 인터페이스에서는, 용량이 제한된 양단 큐와 고정 사이즈 제한이 없는 양단 큐가 지원되고 있습니다.
이 인터페이스는, 양단 큐의 양단에 있는 요소에 액세스 하는 메소드를 정의합니다. 요소를 삽입, 삭제, 및 검사하기 위한 메소드가 제공되고 있습니다. 이러한 메소드에는 각각 2 개의 형식이 있습니다. 1 개(살)은 오퍼레이션 실패시에 예외를 throw 해, 이제(벌써) 1 개(살)은 특수한 값 (오퍼레이션에 응해 null 또는 false)을 돌려줍니다. 후자의 형식의 삽입 오퍼레이션은, 용량의 제한된 Deque 구현용으로서 특별히 설계된 것입니다만, 대부분의 구현에서는 삽입 오퍼레이션은 실패할 수 없습니다.
전술의 12 개의 메소드에 대해 다음의 표에 정리합니다.
| 최초의 요소 (선두) | 마지막 요소 (말미) | |||
| 예외를 throw 한다 | 특수한 값 | 예외를 throw 한다 | 특수한 값 | |
| 삽입 | addFirst(e) |
offerFirst(e) |
addLast(e) |
offerLast(e) |
| 삭제 | removeFirst() |
pollFirst() |
removeLast() |
pollLast() |
| 검사 | getFirst() |
peekFirst() |
getLast() |
peekLast() |
이 인터페이스는,Queue 인터페이스를 확장합니다. 양단 큐가 큐로서 사용되는 경우, FIFO (선입선출) 동작이 됩니다. 요소는 양단 큐의 말미에 추가되어 선두로부터 삭제됩니다. Queue 인터페이스로부터 상속된 메소드는, 다음의 겉(표)에 나타내도록(듯이) Deque 메소드와 완전한 등가입니다.
| Queue 메소드 | 등가인 Deque 메소드 |
add(e) |
addLast(e) |
offer(e) |
offerLast(e) |
remove() |
removeFirst() |
poll() |
pollFirst() |
element() |
getFirst() |
peek() |
peekFirst() |
양단 큐는, LIFO (후입선출) 스택으로서 사용할 수도 있습니다. 종래 Stack 클래스보다 이 인터페이스를 우선해 사용해 주세요. 양단 큐가 스택으로서 사용되는 경우, 양단 큐의 선두로부터 요소의 푸쉬와 팝을 합니다. Stack 메소드는, 다음의 겉(표)에 나타내도록(듯이) Deque 메소드와 완전한 등가입니다.
| Stack 메소드 | 등가인 Deque 메소드 |
push(e) |
addFirst(e) |
pop() |
removeFirst() |
peek() |
peekFirst() |
양단 큐가 큐 또는 스택으로서 사용되는 경우,peek 메소드도 이와 같이 기능합니다. 어느 쪽의 경우도, 요소는 양단 큐의 선두로부터 꺼내집니다.
이 인터페이스에는, 내부 요소를 삭제하기 위한 2 개의 메소드 removeFirstOccurrence 및 removeLastOccurrence 가 있습니다.
List 인터페이스와는 달라, 이 인터페이스는 인덱스로 요소에 액세스하기 위한 지원를 제공하지 않습니다.
Deque 구현에서는, null 요소의 삽입을 금지하는 것이 엄밀하게는 필요 없습니다만, 금지하는 것을 강하게 추천합니다. null 요소가 허가된 Deque 구현의 사용자는, null 를 삽입하는 기능을 이용하지 않는 것을 강하게 추천합니다. 이것은, 다양한 메소드에 의해,null 는 양단 큐가 빈 상태(empty)인 것을 나타내기 위한 특별한 반환값으로서 사용되기 (위해)때문에입니다.
일반적으로,Deque 구현은 요소 베이스의 equals 메소드 및 hashCode 메소드를 정의합니다만,Object 클래스로부터 아이덴티티 베이스의 메소드를 상속합니다.
이 인터페이스는,Java Collections Framework 의 멤버입니다.
| 메소드의 개요 | |
|---|---|
boolean |
add (E e)
지정된 요소를, 이 양단 큐로 나타내지는 큐 (즉, 이 양단 큐의 말미)에, 용량 제한으로 위반하는 것 없이 곧바로 삽입할 수 있는 경우에는, 그렇게 하겠습니다. |
void |
addFirst (E e)
용량 제한으로 위반하는 일 없이 지정된 요소를 이 양단 큐의 선두에 곧바로 삽입할 수 있는 경우는, 삽입합니다. |
void |
addLast (E e)
용량 제한으로 위반하는 일 없이 지정된 요소를 이 양단 큐의 말미에 곧바로 삽입할 수 있는 경우는, 그렇게 하겠습니다. |
boolean |
contains (Object o)
지정된 요소가 이 양단 큐에 포함되어 있는 경우에 true 를 돌려줍니다. |
Iterator <E > |
descendingIterator ()
이 양단 큐내의 요소를 역순서로 반복 처리 하는 반복자를 돌려줍니다. |
E |
element ()
이 양단 큐에 의해 나타내지는 큐의 선두 (즉, 이 양단 큐의 최초의 요소)를 가져옵니다만, 삭제하지 않습니다. |
E |
getFirst ()
이 양단 큐의 최초의 요소를 가져옵니다만, 삭제는 하지 않습니다. |
E |
getLast ()
이 양단 큐의 마지막 요소를 가져옵니다만, 삭제는 하지 않습니다. |
Iterator <E > |
iterator ()
이 양단 큐내의 요소를 적절한 순서로 반복 처리 하는 반복자를 돌려줍니다. |
boolean |
offer (E e)
지정된 요소를, 이 양단 큐로 나타내지는 큐 (즉, 이 양단 큐의 말미)에, 용량 제한으로 위반하는 것 없이 곧바로 삽입할 수 있는 경우에는, 그렇게 하겠습니다. |
boolean |
offerFirst (E e)
용량 제한으로 위반하지 않는 한, 지정된 요소를 이 양단 큐의 선두에 삽입합니다. |
boolean |
offerLast (E e)
용량 제한으로 위반하지 않는 한, 지정된 요소를 이 양단 큐의 말미에 삽입합니다. |
E |
peek ()
이 양단 큐에 의해 나타내지는 큐의 선두 (즉, 이 양단 큐의 최초의 요소)를 가져옵니다만, 삭제하지 않습니다. |
E |
peekFirst ()
이 양단 큐의 최초의 요소를 가져옵니다만, 삭제하지 않습니다. |
E |
peekLast ()
이 양단 큐의 마지막 요소를 가져옵니다만, 삭제하지 않습니다. |
E |
poll ()
이 양단 큐에 의해 나타내지는 큐의 선두 (즉, 이 양단 큐의 최초의 요소)를 취득해 삭제합니다. |
E |
pollFirst ()
이 양단 큐의 최초의 요소를 취득 및 삭제합니다. |
E |
pollLast ()
이 양단 큐의 마지막 요소를 취득 및 삭제합니다. |
E |
pop ()
이 양단 큐로 나타내지는 스택에 요소를 팝 합니다. |
void |
push (E e)
용량 제한으로 위반하는 것 없이 요소를 이 양단 큐로 나타내지는 스택 (즉 이 양단 큐의 선두)에 곧바로 푸쉬 할 수 있는 경우는, 그렇게 하겠습니다. |
E |
remove ()
이 양단 큐에 의해 나타내지는 큐의 선두 (즉, 이 양단 큐의 최초의 요소)를 취득해 삭제합니다. |
boolean |
remove (Object o)
지정된 요소의 쳐 최초로 출현한 것을, 이 양단 큐로부터 삭제합니다. |
E |
removeFirst ()
이 양단 큐의 최초의 요소를 취득해 삭제합니다. |
boolean |
removeFirstOccurrence (Object o)
지정된 요소의 쳐 최초로 출현한 것을, 이 양단 큐로부터 삭제합니다. |
E |
removeLast ()
이 양단 큐의 마지막 요소를 취득해 삭제합니다. |
boolean |
removeLastOccurrence (Object o)
지정된 요소의 쳐 마지막에 출현한 것을, 이 양단 큐로부터 삭제합니다. |
int |
size ()
이 양단 큐내의 요소의 수를 돌려줍니다. |
| 인터페이스 java.util. Collection 로부터 상속된 메소드 |
|---|
addAll , clear , containsAll , equals , hashCode , isEmpty , removeAll , retainAll , toArray , toArray |
| 메소드의 상세 |
|---|
void addFirst(E e)
offerFirst(E) 메소드를 사용하는 것을 추천합니다.
e - 추가하는 요소
IllegalStateException - 용량 제한이 원인으로 이 시점에서 요소를 추가할 수 없는 경우
ClassCastException - 지정된 요소의 클래스가 원인으로, 이 양단 큐에 요소를 추가할 수 없는 경우
NullPointerException - 지정된 요소가 null 로, 이 양단 큐가 null 요소를 허용 하지 않는 경우
IllegalArgumentException - 지정된 요소가 있는 프로퍼티이 원인으로, 이 양단 큐에 요소를 추가할 수 없는 경우void addLast(E e)
offerLast(E) 메소드를 사용하는 것을 추천합니다.
이 메소드는,add(E) 와 동등합니다.
e - 추가하는 요소
IllegalStateException - 용량 제한이 원인으로 이 시점에서 요소를 추가할 수 없는 경우
ClassCastException - 지정된 요소의 클래스가 원인으로, 이 양단 큐에 요소를 추가할 수 없는 경우
NullPointerException - 지정된 요소가 null 로, 이 양단 큐가 null 요소를 허용 하지 않는 경우
IllegalArgumentException - 지정된 요소가 있는 프로퍼티이 원인으로, 이 양단 큐에 요소를 추가할 수 없는 경우boolean offerFirst(E e)
addFirst(E) 메소드보다 이 메소드를 사용하는 것을 추천합니다.
e - 추가하는 요소
ClassCastException - 지정된 요소의 클래스가 원인으로, 이 양단 큐에 요소를 추가할 수 없는 경우
NullPointerException - 지정된 요소가 null 로, 이 양단 큐가 null 요소를 허용 하지 않는 경우
IllegalArgumentException - 지정된 요소가 있는 프로퍼티이 원인으로, 이 양단 큐에 요소를 추가할 수 없는 경우boolean offerLast(E e)
addLast(E) 메소드보다 이 메소드를 사용하는 것을 추천합니다.
e - 추가하는 요소
ClassCastException - 지정된 요소의 클래스가 원인으로, 이 양단 큐에 요소를 추가할 수 없는 경우
NullPointerException - 지정된 요소가 null 로, 이 양단 큐가 null 요소를 허용 하지 않는 경우
IllegalArgumentException - 지정된 요소가 있는 프로퍼티이 원인으로, 이 양단 큐에 요소를 추가할 수 없는 경우E removeFirst()
pollFirst 와 다릅니다.
NoSuchElementException - 이 양단 큐가 빈 상태(empty)의 경우E removeLast()
pollLast 와 다릅니다.
NoSuchElementException - 이 양단 큐가 빈 상태(empty)의 경우E pollFirst()
E pollLast()
E getFirst()
peekFirst 와 다릅니다.
NoSuchElementException - 이 양단 큐가 빈 상태(empty)의 경우E getLast()
peekLast 와 다릅니다.
NoSuchElementException - 이 양단 큐가 빈 상태(empty)의 경우E peekFirst()
E peekLast()
boolean removeFirstOccurrence(Object o)
o - 이 양단 큐로부터 삭제되는 요소 (그 요소가 존재하는 경우)
ClassCastException - 지정된 요소의 클래스가, 이 양단 큐와 호환이 아닌 경우 (생략 가능)
NullPointerException - 지정된 요소가 null 이며, 이 양단 큐가 null 요소를 허가하지 않는 경우 (생략 가능)boolean removeLastOccurrence(Object o)
o - 이 양단 큐로부터 삭제되는 요소 (그 요소가 존재하는 경우)
ClassCastException - 지정된 요소의 클래스가, 이 양단 큐와 호환이 아닌 경우 (생략 가능)
NullPointerException - 지정된 요소가 null 이며, 이 양단 큐가 null 요소를 허가하지 않는 경우 (생략 가능)boolean add(E e)
offer 를 사용하는 것을 추천합니다.
이 메소드는,addLast(E) 와 동등합니다.
Collection <E > 내의 add Queue <E > 내의 add e - 추가하는 요소
Collection.add(E) 로 지정되고 있는 대로)
IllegalStateException - 용량 제한이 원인으로 이 시점에서 요소를 추가할 수 없는 경우
ClassCastException - 지정된 요소의 클래스가 원인으로, 이 양단 큐에 요소를 추가할 수 없는 경우
NullPointerException - 지정된 요소가 null 로, 이 양단 큐가 null 요소를 허용 하지 않는 경우
IllegalArgumentException - 지정된 요소가 있는 프로퍼티이 원인으로, 이 양단 큐에 요소를 추가할 수 없는 경우boolean offer(E e)
add(E) 메소드보다 이 메소드를 사용하는 것을 추천합니다.
이 메소드는,offerLast(E) 와 동등합니다.
Queue <E > 내의 offer e - 추가하는 요소
ClassCastException - 지정된 요소의 클래스가 원인으로, 이 양단 큐에 요소를 추가할 수 없는 경우
NullPointerException - 지정된 요소가 null 로, 이 양단 큐가 null 요소를 허용 하지 않는 경우
IllegalArgumentException - 지정된 요소가 있는 프로퍼티이 원인으로, 이 양단 큐에 요소를 추가할 수 없는 경우E remove()
poll 와 다릅니다.
이 메소드는,removeFirst() 와 동등합니다.
Queue <E > 내의 remove NoSuchElementException - 이 양단 큐가 빈 상태(empty)의 경우E poll()
이 메소드는,pollFirst() 와 동등합니다.
Queue <E > 내의 poll E element()
peek 와 다릅니다.
이 메소드는,getFirst() 와 동등합니다.
Queue <E > 내의 element NoSuchElementException - 이 양단 큐가 빈 상태(empty)의 경우E peek()
이 메소드는,peekFirst() 와 동등합니다.
Queue <E > 내의 peek void push(E e)
이 메소드는,addFirst(E) 와 동등합니다.
e - 푸쉬 하는 요소
IllegalStateException - 용량 제한이 원인으로 이 시점에서 요소를 추가할 수 없는 경우
ClassCastException - 지정된 요소의 클래스가 원인으로, 이 양단 큐에 요소를 추가할 수 없는 경우
NullPointerException - 지정된 요소가 null 로, 이 양단 큐가 null 요소를 허용 하지 않는 경우
IllegalArgumentException - 지정된 요소가 있는 프로퍼티이 원인으로, 이 양단 큐에 요소를 추가할 수 없는 경우E pop()
이 메소드는,removeFirst() 와 동등합니다.
NoSuchElementException - 이 양단 큐가 빈 상태(empty)의 경우boolean remove(Object o)
이 메소드는,removeFirstOccurrence(java.lang.Object) 와 동등합니다.
Collection <E > 내의 remove o - 이 양단 큐로부터 삭제되는 요소 (그 요소가 존재하는 경우)
ClassCastException - 지정된 요소의 클래스가, 이 양단 큐와 호환이 아닌 경우 (생략 가능)
NullPointerException - 지정된 요소가 null 이며, 이 양단 큐가 null 요소를 허가하지 않는 경우 (생략 가능)boolean contains(Object o)
Collection <E > 내의 contains o - 이 양단 큐에 있을지 어떨지를 조사하는 요소
ClassCastException - 지정된 요소의 형태가, 이 양단 큐와 호환이 아닌 경우 (생략 가능)
NullPointerException - 지정된 요소가 null 이며, 이 양단 큐가 null 요소를 허가하지 않는 경우 (생략 가능)int size()
Collection <E > 내의 size Iterator <E > iterator()
Collection <E > 내의 iterator Iterable <E > 내의 iterator Iterator <E > descendingIterator()
|
JavaTM Platform Standard Ed. 6 |
|||||||||
| 앞의 클래스 다음의 클래스 | 프레임 있어 프레임 없음 | |||||||||
| 개요: 상자 | 필드 | 생성자 | 메소드 | 상세: 필드 | 생성자 | 메소드 | |||||||||
Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms . Documentation Redistribution Policy 도 참조해 주세요.