|
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 도 참조해 주세요.