|
JavaTM Platform Standard Ed. 6 |
|||||||||
앞의 클래스 다음의 클래스 | 프레임 있어 프레임 없음 | |||||||||
개요: 상자 | 필드 | 생성자 | 메소드 | 상세: 필드 | 생성자 | 메소드 |
E
- 컬렉션내에 존재하는 요소의 형태public interface BlockingDeque<E>
요소의 취득시에 양단 큐가 빈 상태(empty)이 아니게 될 때까지 대기하거나 요소의 포함시에 양단 큐내에 빈 곳이 생길 때까지 대기하는 블록 조작을 추가로 지원하거나 하는 Deque
입니다.
BlockingDeque 메소드에는 4 개의 형식이 있어, 곧바로는 달성할 수 없어도 장래가 있는 시점에서 달성할 수 있을 가능성이 있는 조작을 다른 방법으로 처리합니다. 1 개째는 예외를 throw 해, 2 개째는 특수한 값 (조작에 응해 null 와 false 의 어느쪽이든)을 돌려주어, 3 개째는 조작이 정상적으로 완료할 때까지 현재의 thread를 무기한으로 블록 해, 4 개째는 처리를 중지할 때까지 지정된 제한 시간내만 블록 합니다. 이러한 메소드에 대해, 다음의 표에 정리합니다.
최초의 요소 (선두) | ||||
예외를 throw 한다 | 특수한 값 | 블록 | 타임 아웃 | |
삽입 | addFirst(e) |
offerFirst(e) |
putFirst(e) |
offerFirst(e, time, unit) |
삭제 | removeFirst() |
pollFirst() |
takeFirst() |
pollFirst(time, unit) |
검사 | getFirst() |
peekFirst() |
적용외 | 적용외 |
마지막 요소 (말미) | ||||
예외를 throw 한다 | 특수한 값 | 블록 | 타임 아웃 | |
삽입 | addLast(e) |
offerLast(e) |
putLast(e) |
offerLast(e, time, unit) |
삭제 | removeLast() |
pollLast() |
takeLast() |
pollLast(time, unit) |
검사 | getLast() |
peekLast() |
적용외 | 적용외 |
BlockingQueue
와 같이,BlockingDeque 는 thread 세이프이며, null 요소를 허용 하지 않습니다. 또, 용량이 제한되고 있는 일도 제한되어 있지 않은 것도 있습니다.
BlockingDeque 구현은, FIFO 의 BlockingQueue 로서 직접 사용되는 일이 있습니다. BlockingQueue 인터페이스로부터 상속된 메소드는, 다음의 겉(표)에 나타내도록(듯이) BlockingDeque 메소드와 완전한 등가입니다.
BlockingQueue 메소드 | 동등의 BlockingDeque 메소드 |
삽입 | |
add(e) |
addLast(e) |
offer(e) |
offerLast(e) |
put(e) |
putLast(e) |
offer(e, time, unit) |
offerLast(e, time, unit) |
삭제 | |
remove() |
removeFirst() |
poll() |
pollFirst() |
take() |
takeFirst() |
poll(time, unit) |
pollFirst(time, unit) |
검사 | |
element() |
getFirst() |
peek() |
peekFirst() |
메모리 무결성 효과:다른 동시성 처리 컬렉션과 같이, 객체를 BlockingDeque
에 배치하기 전의 thread내의 액션은, 다른 thread에서의 그 요소에의 액세스 또는 BlockingDeque
로부터의 삭제에 계속되는 액션보다「전에 발생」 합니다.
이 인터페이스는,Java Collections Framework 의 멤버입니다.
메소드의 개요 | |
---|---|
boolean |
add (E e)
지정된 요소를, 이 양단 큐로 나타내지는 큐 (즉, 이 양단 큐의 말미)에, 용량 제한으로 위반하는 것 없이 곧바로 삽입할 수 있는 경우에는, 그렇게 하겠습니다. |
void |
addFirst (E e)
용량 제한으로 위반하는 일 없이 지정된 요소를 이 양단 큐의 선두에 곧바로 삽입할 수 있는 경우에는, 그렇게 하겠습니다. |
void |
addLast (E e)
용량 제한으로 위반하는 것 없이 로 지정된 요소를 이 양단 큐의 말미에 곧바로 삽입할 수 있는 경우에는, 그렇게 하겠습니다. |
boolean |
contains (Object o)
지정된 요소가 이 양단 큐에 포함되어 있는 경우에 true 를 돌려줍니다. |
E |
element ()
이 양단 큐에 의해 나타내지는 큐의 선두 (즉, 이 양단 큐의 최초의 요소)를 가져옵니다만, 삭제하지 않습니다. |
Iterator <E > |
iterator ()
이 양단 큐내의 요소를 적절한 순서로 반복 처리 하는 반복자를 돌려줍니다. |
boolean |
offer (E e)
지정된 요소를, 이 양단 큐로 나타내지는 큐 (즉, 이 양단 큐의 말미)에, 용량 제한으로 위반하는 것 없이 곧바로 삽입할 수 있는 경우에는, 그렇게 하겠습니다. |
boolean |
offer (E e,
long timeout,
TimeUnit unit)
지정된 요소를 이 양단 큐로 나타내지는 큐 (즉, 이 양단 큐의 말미)에 삽입합니다. |
boolean |
offerFirst (E e)
용량 제한으로 위반하는 것 없이 로 지정된 요소를 이 양단 큐의 선두에 곧바로 삽입할 수 있는 경우에는, 그렇게 하겠습니다. |
boolean |
offerFirst (E e,
long timeout,
TimeUnit unit)
지정된 요소를 이 양단 큐의 선두에 삽입합니다. |
boolean |
offerLast (E e)
용량 제한으로 위반하는 것 없이 로 지정된 요소를 이 양단 큐의 말미에 곧바로 삽입할 수 있는 경우에는, 그렇게 하겠습니다. |
boolean |
offerLast (E e,
long timeout,
TimeUnit unit)
지정된 요소를 이 양단 큐의 말미에 삽입합니다. |
E |
peek ()
이 양단 큐에 의해 나타내지는 큐의 선두 (즉, 이 양단 큐의 최초의 요소)를 가져옵니다만, 삭제하지 않습니다. |
E |
poll ()
이 양단 큐에 의해 나타내지는 큐의 선두 (즉, 이 양단 큐의 최초의 요소)를 취득해 삭제합니다. |
E |
poll (long timeout,
TimeUnit unit)
이 양단 큐에 의해 나타내지는 큐의 선두 (즉, 이 양단 큐의 최초의 요소)를 취득해 삭제합니다. |
E |
pollFirst (long timeout,
TimeUnit unit)
이 양단 큐의 최초의 요소를 취득해 삭제합니다. |
E |
pollLast (long timeout,
TimeUnit unit)
이 양단 큐의 마지막 요소를 취득해 삭제합니다. |
void |
push (E e)
이 양단 큐로 나타내지는 스택에 요소를 넣습니다. |
void |
put (E e)
지정된 요소를 이 양단 큐로 나타내지는 큐 (즉, 이 양단 큐의 말미)에 삽입합니다. |
void |
putFirst (E e)
지정된 요소를 이 양단 큐의 선두에 삽입합니다. |
void |
putLast (E e)
지정된 요소를 이 양단 큐의 말미에 삽입합니다. |
E |
remove ()
이 양단 큐에 의해 나타내지는 큐의 선두 (즉, 이 양단 큐의 최초의 요소)를 취득해 삭제합니다. |
boolean |
remove (Object o)
지정된 요소의 쳐 최초로 출현한 것을, 이 양단 큐로부터 삭제합니다. |
boolean |
removeFirstOccurrence (Object o)
지정된 요소의 쳐 최초로 출현한 것을, 이 양단 큐로부터 삭제합니다. |
boolean |
removeLastOccurrence (Object o)
지정된 요소의 쳐 마지막에 출현한 것을, 이 양단 큐로부터 삭제합니다. |
int |
size ()
이 양단 큐내의 요소의 수를 돌려줍니다. |
E |
take ()
이 양단 큐에 의해 나타내지는 큐의 선두 (즉, 이 양단 큐의 최초의 요소)를 취득해 삭제합니다. |
E |
takeFirst ()
이 양단 큐의 최초의 요소를 취득해 삭제합니다. |
E |
takeLast ()
이 양단 큐의 마지막 요소를 취득해 삭제합니다. |
인터페이스 java.util.concurrent. BlockingQueue 로부터 상속된 메소드 |
---|
drainTo , drainTo , remainingCapacity |
인터페이스 java.util. Deque 로부터 상속된 메소드 |
---|
descendingIterator , getFirst , getLast , peekFirst , peekLast , pollFirst , pollLast , pop , removeFirst , removeLast |
인터페이스 java.util. Collection 로부터 상속된 메소드 |
---|
addAll , clear , containsAll , equals , hashCode , isEmpty , removeAll , retainAll , toArray , toArray |
메소드의 상세 |
---|
void addFirst(E e)
offerFirst
를 사용하는 것을 추천합니다.
Deque <E >
내의 addFirst
e
- 추가하는 요소
IllegalStateException
- 용량 제한이 원인으로 이 시점에서 요소를 추가할 수 없는 경우
ClassCastException
- 지정된 요소의 클래스가 원인으로, 이 양단 큐에 요소를 추가할 수 없는 경우
NullPointerException
- 지정된 요소가 null 인 경우
IllegalArgumentException
- 지정된 요소가 있는 프로퍼티이 원인으로, 이 양단 큐에 요소를 추가할 수 없는 경우void addLast(E e)
offerLast
를 사용하는 것을 추천합니다.
Deque <E >
내의 addLast
e
- 추가하는 요소
IllegalStateException
- 용량 제한이 원인으로 이 시점에서 요소를 추가할 수 없는 경우
ClassCastException
- 지정된 요소의 클래스가 원인으로, 이 양단 큐에 요소를 추가할 수 없는 경우
NullPointerException
- 지정된 요소가 null 인 경우
IllegalArgumentException
- 지정된 요소가 있는 프로퍼티이 원인으로, 이 양단 큐에 요소를 추가할 수 없는 경우boolean offerFirst(E e)
addFirst
메소드보다 이 메소드를 사용하는 것을 추천합니다.
Deque <E >
내의 offerFirst
e
- 추가하는 요소
ClassCastException
- 지정된 요소의 클래스가 원인으로, 이 양단 큐에 요소를 추가할 수 없는 경우
NullPointerException
- 지정된 요소가 null 인 경우
IllegalArgumentException
- 지정된 요소가 있는 프로퍼티이 원인으로, 이 양단 큐에 요소를 추가할 수 없는 경우boolean offerLast(E e)
addLast
메소드보다 이 메소드를 사용하는 것을 추천합니다.
Deque <E >
내의 offerLast
e
- 추가하는 요소
ClassCastException
- 지정된 요소의 클래스가 원인으로, 이 양단 큐에 요소를 추가할 수 없는 경우
NullPointerException
- 지정된 요소가 null 인 경우
IllegalArgumentException
- 지정된 요소가 있는 프로퍼티이 원인으로, 이 양단 큐에 요소를 추가할 수 없는 경우void putFirst(E e) throws InterruptedException
e
- 추가하는 요소
InterruptedException
- 대기중에 인터럽트가 발생했을 경우
ClassCastException
- 지정된 요소의 클래스가 원인으로, 양단 큐에 요소를 추가할 수 없는 경우
NullPointerException
- 지정된 요소가 null 인 경우
IllegalArgumentException
- 지정된 요소가 있는 프로퍼티이 원인으로, 이 양단 큐에 요소를 추가할 수 없는 경우void putLast(E e) throws InterruptedException
e
- 추가하는 요소
InterruptedException
- 대기중에 인터럽트가 발생했을 경우
ClassCastException
- 지정된 요소의 클래스가 원인으로, 양단 큐에 요소를 추가할 수 없는 경우
NullPointerException
- 지정된 요소가 null 인 경우
IllegalArgumentException
- 지정된 요소가 있는 프로퍼티이 원인으로, 이 양단 큐에 요소를 추가할 수 없는 경우boolean offerFirst(E e, long timeout, TimeUnit unit) throws InterruptedException
e
- 추가하는 요소timeout
- 처리를 중지할 때까지의 대기 시간. 단위는 unitunit
- timeout 파라미터의 해석 방법을 결정하는 TimeUnit
InterruptedException
- 대기중에 인터럽트가 발생했을 경우
ClassCastException
- 지정된 요소의 클래스가 원인으로, 양단 큐에 요소를 추가할 수 없는 경우
NullPointerException
- 지정된 요소가 null 인 경우
IllegalArgumentException
- 지정된 요소가 있는 프로퍼티이 원인으로, 이 양단 큐에 요소를 추가할 수 없는 경우boolean offerLast(E e, long timeout, TimeUnit unit) throws InterruptedException
e
- 추가하는 요소timeout
- 처리를 중지할 때까지의 대기 시간. 단위는 unitunit
- timeout 파라미터의 해석 방법을 결정하는 TimeUnit
InterruptedException
- 대기중에 인터럽트가 발생했을 경우
ClassCastException
- 지정된 요소의 클래스가 원인으로, 양단 큐에 요소를 추가할 수 없는 경우
NullPointerException
- 지정된 요소가 null 인 경우
IllegalArgumentException
- 지정된 요소가 있는 프로퍼티이 원인으로, 이 양단 큐에 요소를 추가할 수 없는 경우E takeFirst() throws InterruptedException
InterruptedException
- 대기중에 인터럽트가 발생했을 경우E takeLast() throws InterruptedException
InterruptedException
- 대기중에 인터럽트가 발생했을 경우E pollFirst(long timeout, TimeUnit unit) throws InterruptedException
timeout
- 처리를 중지할 때까지의 대기 시간. 단위는 unitunit
- timeout 파라미터의 해석 방법을 결정하는 TimeUnit
InterruptedException
- 대기중에 인터럽트가 발생했을 경우E pollLast(long timeout, TimeUnit unit) throws InterruptedException
timeout
- 처리를 중지할 때까지의 대기 시간. 단위는 unitunit
- timeout 파라미터의 해석 방법을 결정하는 TimeUnit
InterruptedException
- 대기중에 인터럽트가 발생했을 경우boolean removeFirstOccurrence(Object o)
Deque <E >
내의 removeFirstOccurrence
o
- 이 양단 큐로부터 삭제되는 요소 (그 요소가 존재하는 경우)
ClassCastException
- 지정된 요소의 클래스가, 이 양단 큐와 호환이 아닌 경우 (생략 가능)
NullPointerException
- 지정된 요소가 null 인 경우 (생략 가능)boolean removeLastOccurrence(Object o)
Deque <E >
내의 removeLastOccurrence
o
- 이 양단 큐로부터 삭제되는 요소 (그 요소가 존재하는 경우)
ClassCastException
- 지정된 요소의 클래스가, 이 양단 큐와 호환이 아닌 경우 (생략 가능)
NullPointerException
- 지정된 요소가 null 인 경우 (생략 가능)boolean add(E e)
offer
를 사용하는 것을 추천합니다.
이 메소드는,addLast
와 동등합니다.
BlockingQueue <E >
내의 add
Collection <E >
내의 add
Deque <E >
내의 add
Queue <E >
내의 add
e
- 추가하는 요소
Collection.add(E)
로 지정되고 있는 대로)
IllegalStateException
- 용량 제한이 원인으로 이 시점에서 요소를 추가할 수 없는 경우
ClassCastException
- 지정된 요소의 클래스가 원인으로, 양단 큐에 요소를 추가할 수 없는 경우
NullPointerException
- 지정된 요소가 null 인 경우
IllegalArgumentException
- 지정된 요소가 있는 프로퍼티이 원인으로, 이 양단 큐에 요소를 추가할 수 없는 경우boolean offer(E e)
add(E)
메소드보다 이 메소드를 사용하는 것을 추천합니다.
이 메소드는,offerLast
와 동등합니다.
BlockingQueue <E >
내의 offer
Deque <E >
내의 offer
Queue <E >
내의 offer
e
- 추가하는 요소
ClassCastException
- 지정된 요소의 클래스가 원인으로, 양단 큐에 요소를 추가할 수 없는 경우
NullPointerException
- 지정된 요소가 null 인 경우
IllegalArgumentException
- 지정된 요소가 있는 프로퍼티이 원인으로, 이 양단 큐에 요소를 추가할 수 없는 경우void put(E e) throws InterruptedException
이 메소드는,putLast
와 동등합니다.
BlockingQueue <E >
내의 put
e
- 추가하는 요소
InterruptedException
- 대기중에 인터럽트가 발생했을 경우
ClassCastException
- 지정된 요소의 클래스가 원인으로, 양단 큐에 요소를 추가할 수 없는 경우
NullPointerException
- 지정된 요소가 null 인 경우
IllegalArgumentException
- 지정된 요소가 있는 프로퍼티이 원인으로, 이 양단 큐에 요소를 추가할 수 없는 경우boolean offer(E e, long timeout, TimeUnit unit) throws InterruptedException
이 메소드는,offerLast
와 동등합니다.
BlockingQueue <E >
내의 offer
e
- 추가하는 요소timeout
- 처리를 중지할 때까지의 대기 시간. 단위는 unitunit
- timeout 파라미터의 해석 방법을 결정하는 TimeUnit
InterruptedException
- 대기중에 인터럽트가 발생했을 경우
ClassCastException
- 지정된 요소의 클래스가 원인으로, 양단 큐에 요소를 추가할 수 없는 경우
NullPointerException
- 지정된 요소가 null 인 경우
IllegalArgumentException
- 지정된 요소가 있는 프로퍼티이 원인으로, 이 양단 큐에 요소를 추가할 수 없는 경우E remove()
poll
와 다릅니다.
이 메소드는,removeFirst
와 동등합니다.
Deque <E >
내의 remove
Queue <E >
내의 remove
NoSuchElementException
- 이 양단 큐가 빈 상태(empty)의 경우E poll()
이 메소드는,Deque.pollFirst()
와 동등합니다.
Deque <E >
내의 poll
Queue <E >
내의 poll
E take() throws InterruptedException
이 메소드는,takeFirst
와 동등합니다.
BlockingQueue <E >
내의 take
InterruptedException
- 대기중에 인터럽트가 발생했을 경우E poll(long timeout, TimeUnit unit) throws InterruptedException
이 메소드는,pollFirst
와 동등합니다.
BlockingQueue <E >
내의 poll
timeout
- 처리를 중지할 때까지의 대기 시간. 단위는 unitunit
- timeout 파라미터의 해석 방법을 결정하는 TimeUnit
InterruptedException
- 대기중에 인터럽트가 발생했을 경우E element()
peek
와 다릅니다.
이 메소드는,getFirst
와 동등합니다.
Deque <E >
내의 element
Queue <E >
내의 element
NoSuchElementException
- 이 양단 큐가 빈 상태(empty)의 경우E peek()
이 메소드는,peekFirst
와 동등합니다.
Deque <E >
내의 peek
Queue <E >
내의 peek
boolean remove(Object o)
이 메소드는,removeFirstOccurrence
와 동등합니다.
BlockingQueue <E >
내의 remove
Collection <E >
내의 remove
Deque <E >
내의 remove
o
- 이 양단 큐로부터 삭제되는 요소 (그 요소가 존재하는 경우)
ClassCastException
- 지정된 요소의 클래스가, 이 양단 큐와 호환이 아닌 경우 (생략 가능)
NullPointerException
- 지정된 요소가 null 인 경우 (생략 가능)boolean contains(Object o)
BlockingQueue <E >
내의 contains
Collection <E >
내의 contains
Deque <E >
내의 contains
o
- 이 양단 큐에 포함되어 있는지 어떤지를 조사하는 객체
ClassCastException
- 지정된 요소의 클래스가, 이 양단 큐와 호환이 아닌 경우 (생략 가능)
NullPointerException
- 지정된 요소가 null 인 경우 (생략 가능)int size()
Collection <E >
내의 size
Deque <E >
내의 size
Iterator <E > iterator()
Collection <E >
내의 iterator
Deque <E >
내의 iterator
Iterable <E >
내의 iterator
void push(E e)
이 메소드는,addFirst
와 동등합니다.
Deque <E >
내의 push
e
- 푸쉬 하는 요소
IllegalStateException
- 용량 제한이 원인으로 이 시점에서 요소를 추가할 수 없는 경우
ClassCastException
- 지정된 요소의 클래스가 원인으로, 이 양단 큐에 요소를 추가할 수 없는 경우
NullPointerException
- 지정된 요소가 null 인 경우
IllegalArgumentException
- 지정된 요소가 있는 프로퍼티이 원인으로, 이 양단 큐에 요소를 추가할 수 없는 경우
|
JavaTM Platform Standard Ed. 6 |
|||||||||
앞의 클래스 다음의 클래스 | 프레임 있어 프레임 없음 | |||||||||
개요: 상자 | 필드 | 생성자 | 메소드 | 상세: 필드 | 생성자 | 메소드 |
Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms . Documentation Redistribution Policy 도 참조해 주세요.