JavaTM Platform
Standard Ed. 6

java.util
클래스 AbstractQueue<E>

java.lang.Object 
  상위를 확장 java.util.AbstractCollection <E>
      상위를 확장 java.util.AbstractQueue<E>
형태 파라미터:
E - 컬렉션내에 존재하는 요소의 형태
모든 구현된 인터페이스:
Iterable <E>, Collection <E>, Queue <E>
직계의 기존의 서브 클래스:
ArrayBlockingQueue , ConcurrentLinkedQueue , DelayQueue , LinkedBlockingDeque , LinkedBlockingQueue , PriorityBlockingQueue , PriorityQueue , SynchronousQueue


public abstract class AbstractQueue<E>
extends AbstractCollection <E>
implements Queue <E>

이 클래스는, 몇개의 Queue 오퍼레이션의 스켈리턴 구현을 제공합니다. 이 클래스내의 구현이 적절한 것은, 베이스 구현으로 null 요소가 허가되지 않는 경우입니다. add ,remove , 및 element 메소드는, 각각 offer ,poll , 및 peek 에 근거하고 있습니다만,false 또는 null 를 돌려주어 실패를 나타내는 대신에, 예외를 throw 합니다.

이 클래스를 확장하는 Queue 구현은,Iterator.remove() 를 지원하는 Queue.peek() ,Queue.poll() ,Collection.size() , 및 Collection.iterator() 와 함께,null 요소의 삽입을 허가하지 않는 Queue.offer(E) 메소드를 최저한 정의할 필요가 있습니다. 일반적으로, 추가 메소드도 오버라이드(override) 됩니다. 이러한 요건을 채울 수가 없는 경우,AbstractCollection 의 서브 클래스화를 고려해 주세요.

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

도입된 버젼:
1.5

생성자 의 개요
protected AbstractQueue ()
          서브 클래스에 의해 사용되는 생성자 입니다.
 
메소드의 개요
 boolean add (E  e)
          지정된 요소를, 이 큐에 용량 제한으로 위반하는 것 없이 곧바로 삽입할 수 있는 경우에는, 그렇게 하겠습니다.
 boolean addAll (Collection <? extends E > c)
          지정된 컬렉션내의 모든 요소를 이 큐에 추가합니다.
 void clear ()
          모든 요소를 큐로부터 삭제합니다.
 E element ()
          큐의 선두를 가져옵니다만, 삭제하지 않습니다.
 E remove ()
          큐의 선두를 취득 및 삭제합니다.
 
클래스 java.util. AbstractCollection 로부터 상속된 메소드
contains , containsAll , isEmpty , iterator , remove , removeAll , retainAll , size , toArray , toArray , toString
 
클래스 java.lang. Object 로부터 상속된 메소드
clone , equals , finalize , getClass , hashCode , notify , notifyAll , wait , wait , wait
 
인터페이스 java.util. Queue 로부터 상속된 메소드
offer , peek , poll
 
인터페이스 java.util. Collection 로부터 상속된 메소드
contains , containsAll , equals , hashCode , isEmpty , iterator , remove , removeAll , retainAll , size , toArray , toArray
 

생성자 의 상세

AbstractQueue

protected AbstractQueue()
서브 클래스에 의해 사용되는 생성자 입니다.

메소드의 상세

add

public boolean add(E  e)
지정된 요소를, 이 큐에 용량 제한으로 위반하는 것 없이 곧바로 삽입할 수 있는 경우에는, 그렇게 하겠습니다. 성공했을 경우는 true 를 돌려주어, 사용 가능한 빈영역이 그 시점에서 존재하지 않는 경우는 IllegalStateException 를 throw 합니다.

이 구현은,offer 가 성공했을 경우는 true 를 돌려주어, 그렇지 않은 경우에는 IllegalStateException 를 throw 합니다.

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

remove

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

큐가 빈 상태(empty)이 아닌 한, 이 구현은 poll 의 결과를 돌려줍니다.

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

element

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

큐가 빈 상태(empty)이 아닌 한, 이 구현은 peek 의 결과를 돌려줍니다.

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

clear

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

이 구현은,null 가 돌려주어질 때까지, 반복 poll 를 호출합니다.

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

addAll

public boolean addAll(Collection <?  extends E > c)
지정된 컬렉션내의 모든 요소를 이 큐에 추가합니다. 큐의 모든 것을 그 자체에 추가하려고 하면(자),IllegalArgumentException 가 throw 됩니다. 또, 오퍼레이션의 진행중으로 지정된 컬렉션이 변경되었을 경우의, 이 오퍼레이션의 동작은 정의되고 있지 않습니다.

이 구현은, 지정된 컬렉션에 대해서 처리를 반복해 실행해, 반복자에 의해 반환되는 각 요소를 이 큐에 차례로 추가합니다. 요소 (null 요소를 포함한다)의 추가중에 실행시 예외에 조우하는 경우, 관련지을 수 있었던 예외의 throw시에 요소의 일부만이 추가에 성공하고 있을 가능성이 있습니다.

정의:
인터페이스 Collection <E > 내의 addAll
오버라이드(override):
클래스 AbstractCollection <E > 내의 addAll
파라미터:
c - 큐에 추가되는 요소를 포함한 컬렉션
반환값:
이 호출의 결과, 이 큐가 변경되었을 경우는 true
예외:
ClassCastException - 지정된 컬렉션의 요소의 클래스가 원인으로, 이 큐에 추가할 수 없었던 경우
NullPointerException - 지정된 컬렉션내에 null 요소가 포함되어 이 큐가 null 요소를 허가하지 않는 경우. 또는 지정된 컬렉션이 null 의 경우
IllegalArgumentException - 지정된 컬렉션의 요소가 있는 특성이 원인으로, 이 큐에 요소를 추가할 수 없었던 경우. 또는 지정된 컬렉션이 이 큐의 경우
IllegalStateException - 삽입 제한을 위해, 이 시점에서 일부의 요소를 추가할 수 없는 경우
관련 항목:
add(Object)

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