|
JavaTM Platform Standard Ed. 6 |
|||||||||
| 전의 클래스 다음의 클래스 | 프레임 있어 프레임 없음 | |||||||||
| 개요: 상자 | 필드 | 생성자 | 메소드 | 상세: 필드 | 생성자 | 메소드 | |||||||||
java.lang.Objectjava.util.AbstractCollection <E>
java.util.AbstractQueue <E>
java.util.concurrent.DelayQueue<E>
E - 컬렉션내에 존재하는 요소의 형태public class DelayQueue<E extends Delayed >
Delayed 요소의 안 바운드 형식블로킹 큐로, 지연 시간이 경과후에게만, 요소를 취득할 수 있습니다. 큐의 선두는, 지연의 기한이 가장 전에 끊어진 Delayed 요소입니다. 기한 마감의 Delayed 요소가 없는 경우는, 선두는 존재하지 않고,poll 는 null 를 돌려줍니다. 기한 마감은, 요소의 getDelay(TimeUnit.NANOSECONDS) 메소드가 제로 이하의 값을 돌려주었을 경우에 발생합니다. take 나 poll 를 사용해 유효기간내의 요소를 삭제할 수 없는 경우에서도, 일반적으로의 요소로서 다루어집니다. 예를 들어,size 메소드는, 기한 마감의 요소와 유효기간내의 요소의 양쪽 모두의 카운트를 돌려줍니다. 이 큐에서는, null 요소는 허가되지 않습니다.
이 클래스와 그 반복자는,Collection 및 Iterator 인터페이스의 「옵션」메소드 모든 것을 구현합니다.
이 클래스는,Java Collections Framework 의 멤버입니다.
| 생성자 의 개요 | |
|---|---|
DelayQueue ()
새로운 DelayQueue 를 작성합니다. |
|
DelayQueue (Collection <? extends E > c)
DelayQueue 를 작성합니다. |
|
| 메소드의 개요 | ||
|---|---|---|
boolean |
add (E e)
지정된 요소를 이 지연 큐에 삽입합니다. |
|
void |
clear ()
모든 요소를 이 지연 큐로부터 원자적으로 삭제합니다. |
|
int |
drainTo (Collection <? super E > c)
이 큐로부터 이용 가능한 모든 요소를 삭제해, 그것들이 지정된 컬렉션에 추가합니다. |
|
int |
drainTo (Collection <? super E > c,
int maxElements)
지정된 수이내의 이용 가능한 요소를 이 큐로부터 삭제해, 지정된 컬렉션에 추가합니다. |
|
Iterator <E > |
iterator ()
이 큐내의 모든 요소 (기한 마감과 유효기간내의 양쪽 모두)에 대한 반복자를 돌려줍니다. |
|
boolean |
offer (E e)
지정된 요소를 이 지연 큐에 삽입합니다. |
|
boolean |
offer (E e,
long timeout,
TimeUnit unit)
지정된 요소를 이 지연 큐에 삽입합니다. |
|
E |
peek ()
큐의 선두를 가져옵니다만, 삭제하지 않습니다. |
|
E |
poll ()
이 큐의 선두를 취득 및 삭제합니다. |
|
E |
poll (long timeout,
TimeUnit unit)
이 큐의 선두를 취득 및 삭제합니다. |
|
void |
put (E e)
지정된 요소를 이 지연 큐에 삽입합니다. |
|
int |
remainingCapacity ()
DelayQueue 는 용량 제한이 없기 때문에, 항상 Integer.MAX_VALUE 를 돌려줍니다. |
|
boolean |
remove (Object o)
지정된 요소의 단일의 인스턴스가 이 큐에 존재하는 경우는, 기한 마감인가 어떤가에 관계없이, 큐로부터 삭제합니다. |
|
int |
size ()
이 컬렉션중의 요소의 수를 돌려줍니다. |
|
E |
take ()
이 큐의 선두를 취득 및 삭제합니다. |
|
Object [] |
toArray ()
큐내의 모든 요소가 포함되고 있는 배열을 돌려줍니다. |
|
|
toArray (T[] a)
이 큐내의 모든 요소를 포함한 배열을 돌려줍니다. |
|
| 클래스 java.util. AbstractQueue 로부터 상속된 메소드 |
|---|
addAll , element , remove |
| 클래스 java.util. AbstractCollection 로부터 상속된 메소드 |
|---|
contains , containsAll , isEmpty , removeAll , retainAll , toString |
| 클래스 java.lang. Object 로부터 상속된 메소드 |
|---|
clone , equals , finalize , getClass , hashCode , notify , notifyAll , wait , wait , wait |
| 인터페이스 java.util.concurrent. BlockingQueue 로부터 상속된 메소드 |
|---|
contains |
| 인터페이스 java.util. Queue 로부터 상속된 메소드 |
|---|
element , remove |
| 인터페이스 java.util. Collection 로부터 상속된 메소드 |
|---|
addAll , containsAll , equals , hashCode , isEmpty , removeAll , retainAll |
| 생성자 의 상세 |
|---|
public DelayQueue()
public DelayQueue(Collection <? extends E > c)
Delayed 인스턴스의 지정된 컬렉션의 요소를 포함합니다.
c - 초기 상태로 포함한 요소의 컬렉션
NullPointerException - 지정된 컬렉션 또는, 그 요소중 한쪽이 null 의 경우| 메소드의 상세 |
|---|
public boolean add(E e)
Collection <E extends Delayed > 내의 add BlockingQueue <E extends Delayed > 내의 add Queue <E extends Delayed > 내의 add AbstractQueue <E extends Delayed > 내의 add e - 추가하는 요소
Collection.add(E) 로 지정되었을 경우와 같이)
NullPointerException - 지정된 요소가 null 인 경우public boolean offer(E e)
BlockingQueue <E extends Delayed > 내의 offer Queue <E extends Delayed > 내의 offer e - 추가하는 요소
NullPointerException - 지정된 요소가 null 인 경우public void put(E e)
BlockingQueue <E extends Delayed > 내의 put e - 추가하는 요소
NullPointerException - 지정된 요소가 null 인 경우
public boolean offer(E e,
long timeout,
TimeUnit unit)
BlockingQueue <E extends Delayed > 내의 offer e - 추가하는 요소timeout - 메소드가 블록을 실행할 것은 없기 때문에, 이 파라미터는 무시되는unit - 메소드가 블록을 실행할 것은 없기 때문에, 이 파라미터는 무시된다
NullPointerException - 지정된 요소가 null 인 경우public E poll()
Queue <E extends Delayed > 내의 poll
public E take()
throws InterruptedException
BlockingQueue <E extends Delayed > 내의 take InterruptedException - 대기중에 인터럽트가 발생했을 경우
public E poll(long timeout,
TimeUnit unit)
throws InterruptedException
BlockingQueue <E extends Delayed > 내의 poll timeout - 처리를 중지할 때까지의 대기 시간. 단위는 unitunit - timeout 파라미터의 해석 방법을 결정하는 TimeUnit
InterruptedException - 대기중에 인터럽트가 발생했을 경우public E peek()
Queue <E extends Delayed > 내의 peek public int size()
Collection 의 기술:
Collection <E extends Delayed > 내의 size AbstractCollection <E extends Delayed > 내의 size public int drainTo(Collection <? super E > c)
BlockingQueue 의 기술:
BlockingQueue <E extends Delayed > 내의 drainTo c - 요소의 전송처의 컬렉션
UnsupportedOperationException - 지정된 컬렉션으로 추가의 요소가 지원되어 있지 않은 경우
ClassCastException - 이 큐의 요소의 클래스가 원인으로, 그 요소가 지정된 컬렉션에 추가할 수 없는 경우
NullPointerException - 지정된 컬렉션이 null 인 경우
IllegalArgumentException - 지정된 컬렉션이 이 큐인 경우, 또는 이 큐의 요소가 있는 프로퍼티이 원인으로 지정된 컬렉션에 추가할 수 없는 경우
public int drainTo(Collection <? super E > c,
int maxElements)
BlockingQueue 의 기술:
BlockingQueue <E extends Delayed > 내의 drainTo c - 요소의 전송처의 컬렉션maxElements - 전송 하는 요소의 최대수
UnsupportedOperationException - 지정된 컬렉션으로 추가의 요소가 지원되어 있지 않은 경우
ClassCastException - 이 큐의 요소의 클래스가 원인으로, 그 요소가 지정된 컬렉션에 추가할 수 없는 경우
NullPointerException - 지정된 컬렉션이 null 인 경우
IllegalArgumentException - 지정된 컬렉션이 이 큐인 경우, 또는 이 큐의 요소가 있는 프로퍼티이 원인으로 지정된 컬렉션에 추가할 수 없는 경우public void clear()
Collection <E extends Delayed > 내의 clear AbstractQueue <E extends Delayed > 내의 clear public int remainingCapacity()
BlockingQueue <E extends Delayed > 내의 remainingCapacity public Object [] toArray()
반환되는 배열에의 참조를 큐가 유지하지 않는다고 하는 점으로써, 이 배열은 안전합니다. 즉, 이 메소드는 새로운 배열을 할당할 필요가 있습니다. 이 때문에, 호출측은, 반환된 배열을 자유롭게 변경할 수 있습니다.
메소드는, 배열 베이스의 API 와 컬렉션 베이스의 API 의 사이의 중개역으로서 기능합니다.
Collection <E extends Delayed > 내의 toArray AbstractCollection <E extends Delayed > 내의 toArray public <T> T[] toArray(T[] a)
큐가 지정된 배열에 들어가, 그 배열에 한층 더 여유가 있는 경우 (즉, 배열이 큐보다 많은 요소를 가지는 경우), 그 배열내에서 큐의 끝보다 나머지의 요소는 null 로 설정됩니다.
toArray() 메소드와 같이, 이 메소드는, 배열 베이스의 API 와 컬렉션 베이스의 API 의 사이의 중개역으로서 기능합니다. 게다가 이 메소드에서는, 출력 배열의 실행시의 형태를 정확하게 제어할 수 있기 (위해)때문에, 환경에 따라서는 할당의 수고를 억제할 수가 있습니다.
다음의 코드를 사용하면(자), 새롭게 할당할 수 있었던 Delayed 의 배열에 지연 큐를 덤프 할 수 있습니다.
Delayed[] a = q.toArray(new Delayed[0]);toArray(new Object[0]) 는, 기능의 점으로써 toArray() 와 동일합니다.
Collection <E extends Delayed > 내의 toArray AbstractCollection <E extends Delayed > 내의 toArray a - 배열이 충분한 크기를 가지는 경우는, 큐의 요소가 포함되는 배열. 그렇지 않은 경우는, 요소를 포함하기 위해서 같은 실행시의 형태의 새로운 배열을 할당할 수 있다
ArrayStoreException - 지정된 배열의 실행시의 형태가, 큐내의 각 요소의 실행시의 형태의 슈퍼타입이 아닌 경우
NullPointerException - 지정된 배열이 null 인 경우public boolean remove(Object o)
Collection <E extends Delayed > 내의 remove BlockingQueue <E extends Delayed > 내의 remove AbstractCollection <E extends Delayed > 내의 remove o - 컬렉션으로부터 삭제되는 요소 (그 요소가 존재하는 경우)
public Iterator <E > iterator()
ConcurrentModificationException 를 throw 할 것은 없고, 반복자의 구축시에 존재한 요소를 횡단(traverse) 하는 것을 보증합니다. 또, 구축 후의 모든 변경을 반영합니다 (다만 보증되지는 않았다).
Iterable <E extends Delayed > 내의 iterator Collection <E extends Delayed > 내의 iterator AbstractCollection <E extends Delayed > 내의 iterator
|
JavaTM Platform Standard Ed. 6 |
|||||||||
| 전의 클래스 다음의 클래스 | 프레임 있어 프레임 없음 | |||||||||
| 개요: 상자 | 필드 | 생성자 | 메소드 | 상세: 필드 | 생성자 | 메소드 | |||||||||
Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms . Documentation Redistribution Policy 도 참조해 주세요.