JavaTM Platform
Standard Ed. 6

java.util.concurrent
클래스 LinkedBlockingDeque<E>

java.lang.Object 
  상위를 확장 java.util.AbstractCollection <E>
      상위를 확장 java.util.AbstractQueue <E>
          상위를 확장 java.util.concurrent.LinkedBlockingDeque<E>
형태 파라미터:
E - 컬렉션내에 존재하는 요소의 형태
모든 구현된 인터페이스:
Serializable , Iterable <E>, Collection <E>, BlockingDeque <E>, BlockingQueue <E>, Deque <E>, Queue <E>


public class LinkedBlockingDeque<E>
extends AbstractQueue <E>
implements BlockingDeque <E>, Serializable

링크 노드에 근거하는, 임의의 바운드 형식블로킹 양단 큐입니다.

임의의 용량 제한이 있는 생성자 인수가, 과잉인 전개를 막기 위해서(때문에) 기능합니다. 용량은, 지정하지 않는 경우는 Integer.MAX_VALUE 와 같습니다. 링크 노드는, 양단 큐가 용량을 넘지 않는 한 삽입마다 동적으로 작성됩니다.

대부분의 오퍼레이션은, 블록에 걸리는 시간을 무시하면(자), 일정한 시간에 실행됩니다. 예외는,remove ,removeFirstOccurrence ,removeLastOccurrence ,contains ,iterator.remove() , 및 일괄 오퍼레이션으로, 이것들은 모두 요소의 수 에 비례하는 시간에 실행됩니다.

이 클래스와 그 반복자는,CollectionIterator 인터페이스의 「옵션」메소드 모든 것을 구현합니다.

이 클래스는,Java Collections Framework 의 멤버입니다.

도입된 버젼:
1.6
관련 항목:
직렬화 된 형식

생성자 의 개요
LinkedBlockingDeque ()
          용량 Integer.MAX_VALUELinkedBlockingDeque 를 작성합니다.
LinkedBlockingDeque (Collection <? extends E > c)
          용량 Integer.MAX_VALUE 로, 지정된 컬렉션의 요소를 초기 상태로 포함한 (요소는 컬렉션의 반복자의 traversal순서에 추가) LinkedBlockingDeque 를 작성합니다.
LinkedBlockingDeque (int capacity)
          지정된 고정 용량으로 LinkedBlockingDeque 를 작성합니다.
 
메소드의 개요
 boolean add (E  e)
          용량 제한으로 위반하지 않는 한, 지정된 요소를 이 양단 큐의 말미에 삽입합니다.
 void addFirst (E  e)
          용량 제한으로 위반하는 일 없이 지정된 요소를 이 양단 큐의 선두에 곧바로 삽입할 수 있는 경우에는, 그렇게 하겠습니다.
 void addLast (E  e)
          용량 제한으로 위반하는 것 없이 로 지정된 요소를 이 양단 큐의 말미에 곧바로 삽입할 수 있는 경우에는, 그렇게 하겠습니다.
 void clear ()
          모든 요소를 이 양단 큐로부터 원자적으로 삭제합니다.
 boolean contains (Object  o)
          지정된 요소가 이 양단 큐에 포함되어 있는 경우에 true 를 돌려줍니다.
 Iterator <E > descendingIterator ()
          이 양단 큐내의 요소를 역순서로 반복 처리 하는 반복자를 돌려줍니다.
 int drainTo (Collection <? super E > c)
          이 큐로부터 이용 가능한 모든 요소를 삭제해, 그것들이 지정된 컬렉션에 추가합니다.
 int drainTo (Collection <? super E > c, int maxElements)
          지정된 수이내의 이용 가능한 요소를 이 큐로부터 삭제해, 지정된 컬렉션에 추가합니다.
 E element ()
          이 양단 큐로 나타내지는 큐의 선두를 가져옵니다만, 삭제하지 않습니다.
 E getFirst ()
          이 양단 큐의 최초의 요소를 가져옵니다만, 삭제는 하지 않습니다.
 E getLast ()
          이 양단 큐의 마지막 요소를 가져옵니다만, 삭제는 하지 않습니다.
 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 peekFirst ()
          이 양단 큐의 최초의 요소를 가져옵니다만, 삭제하지 않습니다.
 E peekLast ()
          이 양단 큐의 마지막 요소를 가져옵니다만, 삭제하지 않습니다.
 E poll ()
          이 양단 큐에 의해 나타내지는 큐의 선두 (즉, 이 양단 큐의 최초의 요소)를 취득해 삭제합니다.
 E poll (long timeout, TimeUnit  unit)
          이 양단 큐에 의해 나타내지는 큐의 선두 (즉, 이 양단 큐의 최초의 요소)를 취득해 삭제합니다.
 E pollFirst ()
          이 양단 큐의 최초의 요소를 취득 및 삭제합니다.
 E pollFirst (long timeout, TimeUnit  unit)
          이 양단 큐의 최초의 요소를 취득해 삭제합니다.
 E pollLast ()
          이 양단 큐의 마지막 요소를 취득 및 삭제합니다.
 E pollLast (long timeout, TimeUnit  unit)
          이 양단 큐의 마지막 요소를 취득해 삭제합니다.
 E pop ()
          이 양단 큐로 나타내지는 스택에 요소를 팝 합니다.
 void push (E  e)
          이 양단 큐로 나타내지는 스택에 요소를 넣습니다.
 void put (E  e)
          지정된 요소를 이 양단 큐로 나타내지는 큐 (즉, 이 양단 큐의 말미)에 삽입합니다.
 void putFirst (E  e)
          지정된 요소를 이 양단 큐의 선두에 삽입합니다.
 void putLast (E  e)
          지정된 요소를 이 양단 큐의 말미에 삽입합니다.
 int remainingCapacity ()
          이상적인 상태 (메모리나 자원의 제한이 없는 상태)로, 이 양단 큐가 블록 하지 않고 받아들일 수가 있는 추가 요소의 수를 돌려줍니다.
 E remove ()
          이 양단 큐로 나타내지는 큐의 선두를 취득해 삭제합니다.
 boolean remove (Object  o)
          지정된 요소의 쳐 최초로 출현한 것을, 이 양단 큐로부터 삭제합니다.
 E removeFirst ()
          이 양단 큐의 최초의 요소를 취득해 삭제합니다.
 boolean removeFirstOccurrence (Object  o)
          지정된 요소의 쳐 최초로 출현한 것을, 이 양단 큐로부터 삭제합니다.
 E removeLast ()
          이 양단 큐의 마지막 요소를 취득해 삭제합니다.
 boolean removeLastOccurrence (Object  o)
          지정된 요소의 쳐 마지막에 출현한 것을, 이 양단 큐로부터 삭제합니다.
 int size ()
          이 양단 큐내의 요소의 수를 돌려줍니다.
 E take ()
          이 양단 큐에 의해 나타내지는 큐의 선두 (즉, 이 양단 큐의 최초의 요소)를 취득해 삭제합니다.
 E takeFirst ()
          이 양단 큐의 최초의 요소를 취득해 삭제합니다.
 E takeLast ()
          이 양단 큐의 마지막 요소를 취득해 삭제합니다.
 Object [] toArray ()
          양단 큐내의 모든 요소를 적절한 순서 (최초의 요소로부터 마지막 요소에)로 포함하고 있는 배열을 돌려줍니다.
<T> T[]
toArray (T[] a)
          양단 큐내의 모든 요소를 적절한 순서로 포함한 배열을 돌려줍니다.
 String toString ()
          이 컬렉션의 캐릭터 라인 표현을 돌려줍니다.
 
클래스 java.util. AbstractQueue 로부터 상속된 메소드
addAll
 
클래스 java.util. AbstractCollection 로부터 상속된 메소드
containsAll , isEmpty , removeAll , retainAll
 
클래스 java.lang. Object 로부터 상속된 메소드
clone , equals , finalize , getClass , hashCode , notify , notifyAll , wait , wait , wait
 
인터페이스 java.util. Collection 로부터 상속된 메소드
addAll , containsAll , equals , hashCode , isEmpty , removeAll , retainAll
 

생성자 의 상세

LinkedBlockingDeque

public LinkedBlockingDeque()
용량 Integer.MAX_VALUELinkedBlockingDeque 를 작성합니다.


LinkedBlockingDeque

public LinkedBlockingDeque(int capacity)
지정된 고정 용량으로 LinkedBlockingDeque 를 작성합니다.

파라미터:
capacity - 이 양단 큐의 용량
예외:
IllegalArgumentException - capacity 가 1 미만의 경우

LinkedBlockingDeque

public LinkedBlockingDeque(Collection <?  extends E > c)
용량 Integer.MAX_VALUE 로, 지정된 컬렉션의 요소를 초기 상태로 포함한 (요소는 컬렉션의 반복자의 traversal순서에 추가) LinkedBlockingDeque 를 작성합니다.

파라미터:
c - 초기 상태로 포함한 요소의 컬렉션
예외:
NullPointerException - 지정된 컬렉션, 또는 그 요소중 한쪽이 null 의 경우
메소드의 상세

addFirst

public void addFirst(E  e)
인터페이스 BlockingDeque 의 기술:
용량 제한으로 위반하는 일 없이 지정된 요소를 이 양단 큐의 선두에 곧바로 삽입할 수 있는 경우에는, 그렇게 하겠습니다. 사용 가능한 빈영역이 그 시점에서 존재하지 않는 경우는 IllegalStateException 를 throw 합니다. 용량 제한이 있는 양단 큐를 사용하는 경우, 일반적으로은 offerFirst 를 사용하는 것을 추천합니다.

정의:
인터페이스 BlockingDeque <E > 내의 addFirst
정의:
인터페이스 Deque <E > 내의 addFirst
파라미터:
e - 추가하는 요소
예외:
IllegalStateException - 용량 제한이 원인으로 이 시점에서 요소를 추가할 수 없는 경우
NullPointerException - 지정된 요소가 null 인 경우

addLast

public void addLast(E  e)
인터페이스 BlockingDeque 의 기술:
용량 제한으로 위반하는 것 없이 로 지정된 요소를 이 양단 큐의 말미에 곧바로 삽입할 수 있는 경우에는, 그렇게 하겠습니다. 사용 가능한 빈영역이 그 시점에서 존재하지 않는 경우는 IllegalStateException 를 throw 합니다. 용량 제한이 있는 양단 큐를 사용하는 경우, 일반적으로은 offerLast 를 사용하는 것을 추천합니다.

정의:
인터페이스 BlockingDeque <E > 내의 addLast
정의:
인터페이스 Deque <E > 내의 addLast
파라미터:
e - 추가하는 요소
예외:
IllegalStateException - 용량 제한이 원인으로 이 시점에서 요소를 추가할 수 없는 경우
NullPointerException - 지정된 요소가 null 인 경우

offerFirst

public boolean offerFirst(E  e)
인터페이스 BlockingDeque 의 기술:
용량 제한으로 위반하는 것 없이 로 지정된 요소를 이 양단 큐의 선두에 곧바로 삽입할 수 있는 경우에는, 그렇게 하겠습니다. 성공했을 경우는 true 를 돌려주어, 사용 가능한 빈영역이 그 시점에서 존재하지 않는 경우는 false 를 돌려줍니다. 용량 제한이 있는 양단 큐를 사용하는 경우, 일반적으로은, 요소의 삽입에 실패했을 경우에 예외를 throw 할 뿐(만큼)의 addFirst 메소드보다 이 메소드를 사용하는 것을 추천합니다.

정의:
인터페이스 BlockingDeque <E > 내의 offerFirst
정의:
인터페이스 Deque <E > 내의 offerFirst
파라미터:
e - 추가하는 요소
반환값:
요소가 이 양단 큐에 추가되었을 경우는 true, 그렇지 않은 경우는 false
예외:
NullPointerException - 지정된 요소가 null 인 경우

offerLast

public boolean offerLast(E  e)
인터페이스 BlockingDeque 의 기술:
용량 제한으로 위반하는 것 없이 로 지정된 요소를 이 양단 큐의 말미에 곧바로 삽입할 수 있는 경우에는, 그렇게 하겠습니다. 성공했을 경우는 true 를 돌려주어, 사용 가능한 빈영역이 그 시점에서 존재하지 않는 경우는 false 를 돌려줍니다. 용량 제한이 있는 양단 큐를 사용하는 경우, 일반적으로은, 요소의 삽입에 실패했을 경우에 예외를 throw 할 뿐(만큼)의 addLast 메소드보다 이 메소드를 사용하는 것을 추천합니다.

정의:
인터페이스 BlockingDeque <E > 내의 offerLast
정의:
인터페이스 Deque <E > 내의 offerLast
파라미터:
e - 추가하는 요소
반환값:
요소가 이 양단 큐에 추가되었을 경우는 true, 그렇지 않은 경우는 false
예외:
NullPointerException - 지정된 요소가 null 인 경우

putFirst

public void putFirst(E  e)
              throws InterruptedException 
인터페이스 BlockingDeque 의 기술:
지정된 요소를 이 양단 큐의 선두에 삽입합니다. 필요에 따라서, 빈 곳이 생길 때까지 대기합니다.

정의:
인터페이스 BlockingDeque <E > 내의 putFirst
파라미터:
e - 추가하는 요소
예외:
NullPointerException - 지정된 요소가 null 인 경우
InterruptedException - 대기중에 인터럽트가 발생했을 경우

putLast

public void putLast(E  e)
             throws InterruptedException 
인터페이스 BlockingDeque 의 기술:
지정된 요소를 이 양단 큐의 말미에 삽입합니다. 필요에 따라서, 빈 곳이 생길 때까지 대기합니다.

정의:
인터페이스 BlockingDeque <E > 내의 putLast
파라미터:
e - 추가하는 요소
예외:
NullPointerException - 지정된 요소가 null 인 경우
InterruptedException - 대기중에 인터럽트가 발생했을 경우

offerFirst

public boolean offerFirst(E  e,
                          long timeout,
                          TimeUnit  unit)
                   throws InterruptedException 
인터페이스 BlockingDeque 의 기술:
지정된 요소를 이 양단 큐의 선두에 삽입합니다. 필요에 따라서, 지정된 대기 시간까지 빈 곳이 생기는 것을 대기합니다.

정의:
인터페이스 BlockingDeque <E > 내의 offerFirst
파라미터:
e - 추가하는 요소
timeout - 처리를 중지할 때까지의 대기 시간. 단위는 unit
unit - timeout 파라미터의 해석 방법을 결정하는 TimeUnit
반환값:
성공했을 경우는 true, 빈 곳이 생기기 전으로 지정된 대기 시간이 경과했을 경우는 false
예외:
NullPointerException - 지정된 요소가 null 인 경우
InterruptedException - 대기중에 인터럽트가 발생했을 경우

offerLast

public boolean offerLast(E  e,
                         long timeout,
                         TimeUnit  unit)
                  throws InterruptedException 
인터페이스 BlockingDeque 의 기술:
지정된 요소를 이 양단 큐의 말미에 삽입합니다. 필요에 따라서, 지정된 대기 시간까지 빈 곳이 생기는 것을 대기합니다.

정의:
인터페이스 BlockingDeque <E > 내의 offerLast
파라미터:
e - 추가하는 요소
timeout - 처리를 중지할 때까지의 대기 시간. 단위는 unit
unit - timeout 파라미터의 해석 방법을 결정하는 TimeUnit
반환값:
성공했을 경우는 true, 빈 곳이 생기기 전으로 지정된 대기 시간이 경과했을 경우는 false
예외:
NullPointerException - 지정된 요소가 null 인 경우
InterruptedException - 대기중에 인터럽트가 발생했을 경우

removeFirst

public E  removeFirst()
인터페이스 Deque 의 기술:
이 양단 큐의 최초의 요소를 취득해 삭제합니다. 이 메소드는, 양단 큐가 빈 상태(empty)의 경우에 예외를 throw 하는 점만이 pollFirst 와 다릅니다.

정의:
인터페이스 Deque <E > 내의 removeFirst
반환값:
이 양단 큐의 선두
예외:
NoSuchElementException - 이 양단 큐가 빈 상태(empty)의 경우

removeLast

public E  removeLast()
인터페이스 Deque 의 기술:
이 양단 큐의 마지막 요소를 취득해 삭제합니다. 이 메소드는, 양단 큐가 빈 상태(empty)의 경우에 예외를 throw 하는 점만이 pollLast 와 다릅니다.

정의:
인터페이스 Deque <E > 내의 removeLast
반환값:
이 양단 큐의 말미
예외:
NoSuchElementException - 이 양단 큐가 빈 상태(empty)의 경우

pollFirst

public E  pollFirst()
인터페이스 Deque 의 기술:
이 양단 큐의 최초의 요소를 취득 및 삭제합니다. 양단 큐가 빈 상태(empty)의 경우는 null 를 돌려줍니다.

정의:
인터페이스 Deque <E > 내의 pollFirst
반환값:
이 양단 큐의 선두. 양단 큐가 빈 상태(empty)의 경우는 null

pollLast

public E  pollLast()
인터페이스 Deque 의 기술:
이 양단 큐의 마지막 요소를 취득 및 삭제합니다. 양단 큐가 빈 상태(empty)의 경우는 null 를 돌려줍니다.

정의:
인터페이스 Deque <E > 내의 pollLast
반환값:
이 양단 큐의 말미. 양단 큐가 빈 상태(empty)의 경우는 null

takeFirst

public E  takeFirst()
            throws InterruptedException 
인터페이스 BlockingDeque 의 기술:
이 양단 큐의 최초의 요소를 취득해 삭제합니다. 필요에 따라서, 요소가 이용 가능하게 될 때까지 대기합니다.

정의:
인터페이스 BlockingDeque <E > 내의 takeFirst
반환값:
이 양단 큐의 선두
예외:
InterruptedException - 대기중에 인터럽트가 발생했을 경우

takeLast

public E  takeLast()
           throws InterruptedException 
인터페이스 BlockingDeque 의 기술:
이 양단 큐의 마지막 요소를 취득해 삭제합니다. 필요에 따라서, 요소가 이용 가능하게 될 때까지 대기합니다.

정의:
인터페이스 BlockingDeque <E > 내의 takeLast
반환값:
이 양단 큐의 말미
예외:
InterruptedException - 대기중에 인터럽트가 발생했을 경우

pollFirst

public E  pollFirst(long timeout,
                   TimeUnit  unit)
            throws InterruptedException 
인터페이스 BlockingDeque 의 기술:
이 양단 큐의 최초의 요소를 취득해 삭제합니다. 필요에 따라서, 지정된 대기 시간까지 요소가 이용 가능하게 되는 것을 대기합니다.

정의:
인터페이스 BlockingDeque <E > 내의 pollFirst
파라미터:
timeout - 처리를 중지할 때까지의 대기 시간. 단위는 unit
unit - timeout 파라미터의 해석 방법을 결정하는 TimeUnit
반환값:
이 양단 큐의 선두, 요소가 이용 가능하게 되기 전으로 지정된 대기 시간이 경과했을 경우는 null
예외:
InterruptedException - 대기중에 인터럽트가 발생했을 경우

pollLast

public E  pollLast(long timeout,
                  TimeUnit  unit)
           throws InterruptedException 
인터페이스 BlockingDeque 의 기술:
이 양단 큐의 마지막 요소를 취득해 삭제합니다. 필요에 따라서, 지정된 대기 시간까지 요소가 이용 가능하게 되는 것을 대기합니다.

정의:
인터페이스 BlockingDeque <E > 내의 pollLast
파라미터:
timeout - 처리를 중지할 때까지의 대기 시간. 단위는 unit
unit - timeout 파라미터의 해석 방법을 결정하는 TimeUnit
반환값:
이 양단 큐의 말미, 요소가 이용 가능하게 되기 전으로 지정된 대기 시간이 경과했을 경우는 null
예외:
InterruptedException - 대기중에 인터럽트가 발생했을 경우

getFirst

public E  getFirst()
인터페이스 Deque 의 기술:
이 양단 큐의 최초의 요소를 가져옵니다만, 삭제는 하지 않습니다. 이 메소드는, 양단 큐가 빈 상태(empty)의 경우에 예외를 throw 하는 점만이 peekFirst 와 다릅니다.

정의:
인터페이스 Deque <E > 내의 getFirst
반환값:
이 양단 큐의 선두
예외:
NoSuchElementException - 이 양단 큐가 빈 상태(empty)의 경우

getLast

public E  getLast()
인터페이스 Deque 의 기술:
이 양단 큐의 마지막 요소를 가져옵니다만, 삭제는 하지 않습니다. 이 메소드는, 양단 큐가 빈 상태(empty)의 경우에 예외를 throw 하는 점만이 peekLast 와 다릅니다.

정의:
인터페이스 Deque <E > 내의 getLast
반환값:
이 양단 큐의 말미
예외:
NoSuchElementException - 이 양단 큐가 빈 상태(empty)의 경우

peekFirst

public E  peekFirst()
인터페이스 Deque 의 기술:
이 양단 큐의 최초의 요소를 가져옵니다만, 삭제하지 않습니다. 양단 큐가 빈 상태(empty)의 경우는 null 를 돌려줍니다.

정의:
인터페이스 Deque <E > 내의 peekFirst
반환값:
이 양단 큐의 선두. 양단 큐가 빈 상태(empty)의 경우는 null

peekLast

public E  peekLast()
인터페이스 Deque 의 기술:
이 양단 큐의 마지막 요소를 가져옵니다만, 삭제하지 않습니다. 양단 큐가 빈 상태(empty)의 경우는 null 를 돌려줍니다.

정의:
인터페이스 Deque <E > 내의 peekLast
반환값:
이 양단 큐의 말미. 양단 큐가 빈 상태(empty)의 경우는 null

removeFirstOccurrence

public boolean removeFirstOccurrence(Object  o)
인터페이스 BlockingDeque 의 기술:
지정된 요소의 쳐 최초로 출현한 것을, 이 양단 큐로부터 삭제합니다. 그 요소가 양단 큐에 없는 경우, 변경은 없습니다. 즉,o.equals(e) 가 되는 최초의 요소 e 가 존재하는 경우는, 그 요소를 삭제합니다. 지정된 요소가 양단 큐내에 있었을 경우 (양단 큐가 호출의 결과로서 변경되었을 경우)는,true 를 돌려줍니다.

정의:
인터페이스 BlockingDeque <E > 내의 removeFirstOccurrence
정의:
인터페이스 Deque <E > 내의 removeFirstOccurrence
파라미터:
o - 이 양단 큐로부터 삭제되는 요소 (그 요소가 존재하는 경우)
반환값:
이 호출의 결과, 요소가 삭제되었을 경우는 true

removeLastOccurrence

public boolean removeLastOccurrence(Object  o)
인터페이스 BlockingDeque 의 기술:
지정된 요소의 쳐 마지막에 출현한 것을, 이 양단 큐로부터 삭제합니다. 그 요소가 양단 큐에 없는 경우, 변경은 없습니다. 즉,o.equals(e) 가 되는 마지막 요소 e 가 존재하는 경우는, 그 요소를 삭제합니다. 지정된 요소가 양단 큐내에 있었을 경우 (양단 큐가 호출의 결과로서 변경되었을 경우)는,true 를 돌려줍니다.

정의:
인터페이스 BlockingDeque <E > 내의 removeLastOccurrence
정의:
인터페이스 Deque <E > 내의 removeLastOccurrence
파라미터:
o - 이 양단 큐로부터 삭제되는 요소 (그 요소가 존재하는 경우)
반환값:
이 호출의 결과, 요소가 삭제되었을 경우는 true

add

public boolean add(E  e)
용량 제한으로 위반하지 않는 한, 지정된 요소를 이 양단 큐의 말미에 삽입합니다. 용량 제한이 있는 양단 큐를 사용하는 경우, 일반적으로은 offer 메소드를 사용하는 것을 추천합니다.

이 메소드는,addLast(E) 와 동등합니다.

정의:
인터페이스 Collection <E > 내의 add
정의:
인터페이스 BlockingDeque <E > 내의 add
정의:
인터페이스 BlockingQueue <E > 내의 add
정의:
인터페이스 Deque <E > 내의 add
정의:
인터페이스 Queue <E > 내의 add
오버라이드(override):
클래스 AbstractQueue <E > 내의 add
파라미터:
e - 추가하는 요소
반환값:
true (Collection.add(E) 로 지정되었을 경우와 같이)
예외:
IllegalStateException - 용량 제한이 원인으로 이 시점에서 요소를 추가할 수 없는 경우
NullPointerException - 지정된 요소가 null 인 경우

offer

public boolean offer(E  e)
인터페이스 BlockingDeque 의 기술:
지정된 요소를, 이 양단 큐로 나타내지는 큐 (즉, 이 양단 큐의 말미)에, 용량 제한으로 위반하는 것 없이 곧바로 삽입할 수 있는 경우에는, 그렇게 하겠습니다. 성공했을 경우는 true 를 돌려주어, 사용 가능한 빈영역이 그 시점에서 존재하지 않는 경우는 false 를 돌려줍니다. 용량 제한이 있는 양단 큐를 사용하는 경우, 일반적으로은, 요소의 삽입에 실패했을 경우에 예외를 throw 할 뿐(만큼)의 BlockingDeque.add(E) 메소드보다 이 메소드를 사용하는 것을 추천합니다.

이 메소드는,offerLast 와 동등합니다.

정의:
인터페이스 BlockingDeque <E > 내의 offer
정의:
인터페이스 BlockingQueue <E > 내의 offer
정의:
인터페이스 Deque <E > 내의 offer
정의:
인터페이스 Queue <E > 내의 offer
파라미터:
e - 추가하는 요소
반환값:
이 큐에 요소가 추가되었을 경우는 true, 그 이외의 경우는 false
예외:
NullPointerException - 지정된 요소가 null 인 경우

put

public void put(E  e)
         throws InterruptedException 
인터페이스 BlockingDeque 의 기술:
지정된 요소를 이 양단 큐로 나타내지는 큐 (즉, 이 양단 큐의 말미)에 삽입합니다. 필요에 따라서, 빈 곳이 생길 때까지 대기합니다.

이 메소드는,putLast 와 동등합니다.

정의:
인터페이스 BlockingDeque <E > 내의 put
정의:
인터페이스 BlockingQueue <E > 내의 put
파라미터:
e - 추가하는 요소
예외:
NullPointerException - 지정된 요소가 null 인 경우
InterruptedException - 대기중에 인터럽트가 발생했을 경우

offer

public boolean offer(E  e,
                     long timeout,
                     TimeUnit  unit)
              throws InterruptedException 
인터페이스 BlockingDeque 의 기술:
지정된 요소를 이 양단 큐로 나타내지는 큐 (즉, 이 양단 큐의 말미)에 삽입합니다. 필요에 따라서, 지정된 대기 시간까지 빈 곳이 생기는 것을 대기합니다.

이 메소드는,offerLast 와 동등합니다.

정의:
인터페이스 BlockingDeque <E > 내의 offer
정의:
인터페이스 BlockingQueue <E > 내의 offer
파라미터:
e - 추가하는 요소
timeout - 처리를 중지할 때까지의 대기 시간. 단위는 unit
unit - timeout 파라미터의 해석 방법을 결정하는 TimeUnit
반환값:
요소가 이 양단 큐에 추가되었을 경우는 true, 그렇지 않은 경우는 false
예외:
NullPointerException - 지정된 요소가 null 인 경우
InterruptedException - 대기중에 인터럽트가 발생했을 경우

remove

public E  remove()
이 양단 큐로 나타내지는 큐의 선두를 취득해 삭제합니다. 이 메소드는, 양단 큐가 빈 상태(empty)의 경우에 예외를 throw 하는 점이 poll 와 다릅니다.

이 메소드는,removeFirst 와 동등합니다.

정의:
인터페이스 BlockingDeque <E > 내의 remove
정의:
인터페이스 Deque <E > 내의 remove
정의:
인터페이스 Queue <E > 내의 remove
오버라이드(override):
클래스 AbstractQueue <E > 내의 remove
반환값:
이 양단 큐로 나타내지는 큐의 선두
예외:
NoSuchElementException - 양단 큐가 빈 상태(empty)의 경우

poll

public E  poll()
인터페이스 BlockingDeque 의 기술:
이 양단 큐에 의해 나타내지는 큐의 선두 (즉, 이 양단 큐의 최초의 요소)를 취득해 삭제합니다. 양단 큐가 빈 상태(empty)의 경우는,null 를 돌려줍니다.

이 메소드는,Deque.pollFirst() 와 동등합니다.

정의:
인터페이스 BlockingDeque <E > 내의 poll
정의:
인터페이스 Deque <E > 내의 poll
정의:
인터페이스 Queue <E > 내의 poll
반환값:
양단 큐의 선두. 양단 큐가 빈 상태(empty)의 경우는 null

take

public E  take()
       throws InterruptedException 
인터페이스 BlockingDeque 의 기술:
이 양단 큐에 의해 나타내지는 큐의 선두 (즉, 이 양단 큐의 최초의 요소)를 취득해 삭제합니다. 필요에 따라서, 요소가 이용 가능하게 될 때까지 대기합니다.

이 메소드는,takeFirst 와 동등합니다.

정의:
인터페이스 BlockingDeque <E > 내의 take
정의:
인터페이스 BlockingQueue <E > 내의 take
반환값:
이 양단 큐의 선두
예외:
InterruptedException - 대기중에 인터럽트가 발생했을 경우

poll

public E  poll(long timeout,
              TimeUnit  unit)
       throws InterruptedException 
인터페이스 BlockingDeque 의 기술:
이 양단 큐에 의해 나타내지는 큐의 선두 (즉, 이 양단 큐의 최초의 요소)를 취득해 삭제합니다. 필요에 따라서, 지정된 대기 시간까지 요소가 이용 가능하게 되는 것을 대기합니다.

이 메소드는,pollFirst 와 동등합니다.

정의:
인터페이스 BlockingDeque <E > 내의 poll
정의:
인터페이스 BlockingQueue <E > 내의 poll
파라미터:
timeout - 처리를 중지할 때까지의 대기 시간. 단위는 unit
unit - timeout 파라미터의 해석 방법을 결정하는 TimeUnit
반환값:
이 양단 큐의 선두, 요소가 이용 가능하게 되기 전으로 지정된 대기 시간이 경과했을 경우는 null
예외:
InterruptedException - 대기중에 인터럽트가 발생했을 경우

element

public E  element()
이 양단 큐로 나타내지는 큐의 선두를 가져옵니다만, 삭제하지 않습니다. 이 메소드는, 양단 큐가 빈 상태(empty)의 경우에 예외를 throw 하는 점만이 peek 와 다릅니다.

이 메소드는,getFirst 와 동등합니다.

정의:
인터페이스 BlockingDeque <E > 내의 element
정의:
인터페이스 Deque <E > 내의 element
정의:
인터페이스 Queue <E > 내의 element
오버라이드(override):
클래스 AbstractQueue <E > 내의 element
반환값:
이 양단 큐로 나타내지는 큐의 선두
예외:
NoSuchElementException - 양단 큐가 빈 상태(empty)의 경우

peek

public E  peek()
인터페이스 BlockingDeque 의 기술:
이 양단 큐에 의해 나타내지는 큐의 선두 (즉, 이 양단 큐의 최초의 요소)를 가져옵니다만, 삭제하지 않습니다. 양단 큐가 빈 상태(empty)의 경우는,null 를 돌려줍니다.

이 메소드는,peekFirst 와 동등합니다.

정의:
인터페이스 BlockingDeque <E > 내의 peek
정의:
인터페이스 Deque <E > 내의 peek
정의:
인터페이스 Queue <E > 내의 peek
반환값:
양단 큐의 선두. 양단 큐가 빈 상태(empty)의 경우는 null

remainingCapacity

public int remainingCapacity()
이상적인 상태 (메모리나 자원의 제한이 없는 상태)로, 이 양단 큐가 블록 하지 않고 받아들일 수가 있는 추가 요소의 수를 돌려줍니다. 이 양단 큐의 초기 용량으로부터 현재의 size 를 당긴 값과 항상 같습니다.

remainingCapacity 를 조사해도 요소의 삽입 시행이 성공할지 어떨지를 안다고는인가 선. 이것은 다른 thread가 요소를 삽입 또는 삭제하려고 하고 있을 가능성이 있기 (위해)때문에입니다.

정의:
인터페이스 BlockingQueue <E > 내의 remainingCapacity
반환값:
나머지의 용량

drainTo

public int drainTo(Collection <?  super E > c)
인터페이스 BlockingQueue 의 기술:
이 큐로부터 이용 가능한 모든 요소를 삭제해, 그것들이 지정된 컬렉션에 추가합니다. 이 오퍼레이션은, 이 큐를 반복해 폴링 하는 경우보다 효율적인 경우가 있습니다. 컬렉션 c 에 요소를 추가하려고 했을 때에 장해가 발생하면(자), 관련하는 예외의 throw시에, 요소가 이 큐와 컬렉션의 어느 것에도 존재하지 않는 경우와 한편 또는 양쪽 모두에 존재하는 경우가 있습니다. 큐를 그 자체에 배출하려고 하면(자),IllegalArgumentException 가 throw 됩니다. 또, 오퍼레이션의 진행중으로 지정된 컬렉션이 변경되었을 경우의, 이 오퍼레이션의 동작은 정의되고 있지 않습니다.

정의:
인터페이스 BlockingQueue <E > 내의 drainTo
파라미터:
c - 요소의 전송처의 컬렉션
반환값:
전송 된 요소의 수
예외:
UnsupportedOperationException - 지정된 컬렉션으로 추가의 요소가 지원되어 있지 않은 경우
ClassCastException - 이 큐의 요소의 클래스가 원인으로, 그 요소가 지정된 컬렉션에 추가할 수 없는 경우
NullPointerException - 지정된 컬렉션이 null 인 경우
IllegalArgumentException - 지정된 컬렉션이 이 큐인 경우, 또는 이 큐의 요소가 있는 프로퍼티이 원인으로 지정된 컬렉션에 추가할 수 없는 경우

drainTo

public int drainTo(Collection <?  super E > c,
                   int maxElements)
인터페이스 BlockingQueue 의 기술:
지정된 수이내의 이용 가능한 요소를 이 큐로부터 삭제해, 지정된 컬렉션에 추가합니다. 컬렉션 c 에 요소를 추가하려고 했을 때에 장해가 발생하면(자), 관련하는 예외의 throw시에, 요소가 이 큐와 컬렉션의 어느 것에도 존재하지 않는 경우와 한편 또는 양쪽 모두에 존재하는 경우가 있습니다. 큐를 그 자체에 배출하려고 하면(자),IllegalArgumentException 가 throw 됩니다. 또, 오퍼레이션의 진행중으로 지정된 컬렉션이 변경되었을 경우의, 이 오퍼레이션의 동작은 정의되고 있지 않습니다.

정의:
인터페이스 BlockingQueue <E > 내의 drainTo
파라미터:
c - 요소의 전송처의 컬렉션
maxElements - 전송 하는 요소의 최대수
반환값:
전송 된 요소의 수
예외:
UnsupportedOperationException - 지정된 컬렉션으로 추가의 요소가 지원되어 있지 않은 경우
ClassCastException - 이 큐의 요소의 클래스가 원인으로, 그 요소가 지정된 컬렉션에 추가할 수 없는 경우
NullPointerException - 지정된 컬렉션이 null 인 경우
IllegalArgumentException - 지정된 컬렉션이 이 큐인 경우, 또는 이 큐의 요소가 있는 프로퍼티이 원인으로 지정된 컬렉션에 추가할 수 없는 경우

push

public void push(E  e)
인터페이스 BlockingDeque 의 기술:
이 양단 큐로 나타내지는 스택에 요소를 넣습니다. 즉, 용량 제한으로 위반하지 않는 한, 요소를 이 양단 큐의 선두에 삽입합니다.

이 메소드는,addFirst 와 동등합니다.

정의:
인터페이스 BlockingDeque <E > 내의 push
정의:
인터페이스 Deque <E > 내의 push
파라미터:
e - 푸쉬 하는 요소
예외:
IllegalStateException - 용량 제한이 원인으로 이 시점에서 요소를 추가할 수 없는 경우
NullPointerException - 지정된 요소가 null 인 경우

pop

public E  pop()
인터페이스 Deque 의 기술:
이 양단 큐로 나타내지는 스택에 요소를 팝 합니다. 즉, 이 양단 큐의 최초의 요소를 삭제해 돌려줍니다.

이 메소드는,Deque.removeFirst() 와 동등합니다.

정의:
인터페이스 Deque <E > 내의 pop
반환값:
이 양단 큐의 선두의 요소 (이 양단 큐에 의해 나타내지는 스택의 상부)
예외:
NoSuchElementException - 이 양단 큐가 빈 상태(empty)의 경우

remove

public boolean remove(Object  o)
지정된 요소의 쳐 최초로 출현한 것을, 이 양단 큐로부터 삭제합니다. 그 요소가 양단 큐에 없는 경우, 변경은 없습니다. 즉,o.equals(e) 가 되는 최초의 요소 e 가 존재하는 경우는, 그 요소를 삭제합니다. 지정된 요소가 양단 큐내에 있었을 경우 (양단 큐가 호출의 결과로서 변경되었을 경우)는,true 를 돌려줍니다.

이 메소드는,removeFirstOccurrence 와 동등합니다.

정의:
인터페이스 Collection <E > 내의 remove
정의:
인터페이스 BlockingDeque <E > 내의 remove
정의:
인터페이스 BlockingQueue <E > 내의 remove
정의:
인터페이스 Deque <E > 내의 remove
오버라이드(override):
클래스 AbstractCollection <E > 내의 remove
파라미터:
o - 이 양단 큐로부터 삭제되는 요소 (그 요소가 존재하는 경우)
반환값:
이 호출의 결과, 이 양단 큐가 변경되었을 경우는 true

size

public int size()
이 양단 큐내의 요소의 수를 돌려줍니다.

정의:
인터페이스 Collection <E > 내의 size
정의:
인터페이스 BlockingDeque <E > 내의 size
정의:
인터페이스 Deque <E > 내의 size
정의:
클래스 AbstractCollection <E > 내의 size
반환값:
이 양단 큐내의 요소의 수

contains

public boolean contains(Object  o)
지정된 요소가 이 양단 큐에 포함되어 있는 경우에 true 를 돌려줍니다. 즉, 양단 큐에,o.equals(e) 가 되는 요소 e 가 1 개 이상 포함되어 있는 경우에만 true 를 돌려줍니다.

정의:
인터페이스 Collection <E > 내의 contains
정의:
인터페이스 BlockingDeque <E > 내의 contains
정의:
인터페이스 BlockingQueue <E > 내의 contains
정의:
인터페이스 Deque <E > 내의 contains
오버라이드(override):
클래스 AbstractCollection <E > 내의 contains
파라미터:
o - 이 양단 큐에 포함되어 있는지 어떤지를 조사하는 객체
반환값:
지정된 요소가 이 양단 큐에 포함되어 있는 경우는 true

toArray

public Object [] toArray()
양단 큐내의 모든 요소를 적절한 순서 (최초의 요소로부터 마지막 요소에)로 포함하고 있는 배열을 돌려줍니다.

반환되는 배열에의 참조를 양단 큐가 유지하지 않는다고 하는 점으로써, 이 배열은 안전합니다. (즉, 이 메소드는 새로운 배열을 할당할 필요가 있습니다). 이 때문에, 호출측은, 반환된 배열을 자유롭게 변경할 수 있습니다.

메소드는, 배열 베이스의 API 와 컬렉션 베이스의 API 의 사이의 중개역으로서 기능합니다.

정의:
인터페이스 Collection <E > 내의 toArray
오버라이드(override):
클래스 AbstractCollection <E > 내의 toArray
반환값:
양단 큐의 모든 요소가 포함되고 있는 배열

toArray

public <T> T[] toArray(T[] a)
양단 큐내의 모든 요소를 적절한 순서로 포함한 배열을 돌려줍니다. 반환되는 배열의 실행시의 형태는, 지정된 배열의 형태가 됩니다. 지정된 배열에 양단 큐가 수습되는 경우는, 그 중에 돌려주어집니다. 그렇지 않은 경우는, 지정된 배열의 실행시의 형태와 양단 큐의 사이즈를 가지는 새로운 배열을 할당할 수 있습니다.

양단 큐가 지정된 배열에 들어가, 그 배열에 한층 더 여유가 있는 경우 (즉, 배열이 양단 큐보다 많은 요소를 가지는 경우), 그 배열내에서 양단 큐의 끝보다 나머지의 요소는 null 로 설정됩니다.

toArray() 메소드와 같이, 이 메소드는, 배열 베이스의 API 와 컬렉션 베이스의 API 의 사이의 중개역으로서 기능합니다. 게다가 이 메소드에서는, 출력 배열의 실행시의 형태를 정확하게 제어할 수 있기 (위해)때문에, 환경에 따라서는 할당의 수고를 억제할 수가 있습니다.

x 가, 캐릭터 라인만으로부터 되는 양단 큐인 것을 알 수 있고 있으면(자) 가정합니다. 다음의 코드를 사용하면(자), 새롭게 할당할 수 있었던 String 의 배열에 양단 큐를 덤프 할 수 있습니다.

String[] y = x.toArray(new String[0]);
toArray(new Object[0]) 는, 기능의 점으로써 toArray() 와 동일합니다.

정의:
인터페이스 Collection <E > 내의 toArray
오버라이드(override):
클래스 AbstractCollection <E > 내의 toArray
파라미터:
a - 배열이 충분한 크기를 가지는 경우는, 양단 큐의 요소가 포함되는 배열. 그렇지 않은 경우는, 요소를 포함하기 위해서 같은 실행시의 형태의 새로운 배열을 할당할 수 있다
반환값:
양단 큐의 모든 요소가 포함되고 있는 배열
예외:
ArrayStoreException - 지정된 배열의 실행시의 형태가, 이 양단 큐내의 모든 요소의 실행시의 형태의 슈퍼타입이 아닌 경우
NullPointerException - 지정된 배열이 null 인 경우

toString

public String  toString()
클래스 AbstractCollection 의 기술:
이 컬렉션의 캐릭터 라인 표현을 돌려줍니다. 캐릭터 라인 표현은, 컬렉션의 요소를 그 반복자가 돌려준 순서에 꺽쇄묶음 ("[]")으로 둘러싸 가리키는 리스트입니다. 인접하는 요소는, 문자 ", " (칸마와 공백 문자)에 의해 단락지어집니다. 각 요소는,String.valueOf(Object) 를 실행했는지와 같이 캐릭터 라인에 변환됩니다.

오버라이드(override):
클래스 AbstractCollection <E > 내의 toString
반환값:
이 컬렉션의 캐릭터 라인 표현

clear

public void clear()
모든 요소를 이 양단 큐로부터 원자적으로 삭제합니다. 이 호출이 돌아오면(자), 양단 큐는 비웁니다.

정의:
인터페이스 Collection <E > 내의 clear
오버라이드(override):
클래스 AbstractQueue <E > 내의 clear

iterator

public Iterator <E > iterator()
이 양단 큐내의 요소를 적절한 순서로 반복 처리 하는 반복자를 돌려줍니다. 요소는 최초 (선두)부터 최후 (말미)의 순서에 돌려주어집니다. 반환되는 Iterator 는 「약일관성」을 가지는 반복자이며,ConcurrentModificationException 를 throw 할 것은 없고, 반복자의 구축시에 존재한 요소를 횡단(traverse) 하는 것을 보증합니다. 또, 구축 후의 모든 변경을 반영합니다 (다만 보증되지는 않았다).

정의:
인터페이스 Iterable <E > 내의 iterator
정의:
인터페이스 Collection <E > 내의 iterator
정의:
인터페이스 BlockingDeque <E > 내의 iterator
정의:
인터페이스 Deque <E > 내의 iterator
정의:
클래스 AbstractCollection <E > 내의 iterator
반환값:
양단 큐내의 요소를 적절한 순서로 반복 처리 하는 반복자

descendingIterator

public Iterator <E > descendingIterator()
이 양단 큐내의 요소를 역순서로 반복 처리 하는 반복자를 돌려줍니다. 요소는 최후 (말미)로부터 최초 (선두)의 순서에 돌려주어집니다. 반환되는 Iterator 는 「약일관성」을 가지는 반복자이며,ConcurrentModificationException 를 throw 할 것은 없고, 반복자의 구축시에 존재한 요소를 횡단(traverse) 하는 것을 보증합니다. 또, 구축 후의 모든 변경을 반영합니다 (다만 보증되지는 않았다).

정의:
인터페이스 Deque <E > 내의 descendingIterator
반환값:
이 양단 큐내의 요소를 역순서로 반복 처리 하는 반복자

JavaTM Platform
Standard Ed. 6

버그의 보고와 기능의 요청
한층 더 자세한 API 레퍼런스 및 개발자 문서에 대해서는,Java SE 개발자용 문서를 참조해 주세요. 개발자전용의 상세한 해설, 개념의 개요, 용어의 정의, 버그의 회피책, 및 코드 실례가 포함되어 있습니다.

Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms . Documentation Redistribution Policy 도 참조해 주세요.