AbstractQueue — Queue 연산의 뼈대 구현
AbstractQueue — Queue 연산의 뼈대 구현
일부 Queue 연산의 뼈대 구현을 제공하는 추상 클래스예요.
본문
시그니처
public abstract class AbstractQueue<E> extends AbstractCollection<E>
implements Queue<E>
타입 매개변수: E — 이 큐에 담긴 요소의 타입.
설명
이 클래스는 일부 Queue 연산의 뼈대 구현을 제공해요. 이 클래스의 구현은 기본 구현이 null 요소를 허용하지 않을 때 적절해요. add, remove, element 메서드는 각각 offer, poll, peek에 기반하지만, false나 null 반환으로 실패를 나타내는 대신 예외를 던져요.
이 클래스를 확장하는 Queue 구현은 최소한 null 요소 삽입을 허용하지 않는 Queue.offer(E) 메서드와 Queue.peek(), Queue.poll(), Collection.size(), Collection.iterator() 메서드를 정의해야 해요. 보통 추가 메서드도 오버라이드할 거예요. 이런 요구 사항을 충족할 수 없다면 AbstractCollection을 하위 클래스화하는 것을 대신 고려하세요.
이 클래스는 Java Collections Framework의 구성원이에요.
주요 메서드
add(E e)— 용량 제한을 위반하지 않고 즉시 가능하면 이 큐에 지정한 요소를 삽입하고, 성공 시true를 반환하며 공간이 없으면IllegalStateException을 던져요.addAll(Collection<? extends E> c)— 지정한 컬렉션의 모든 요소를 이 큐에 추가해요.clear()— 이 큐에서 모든 요소를 제거해요.element()— 이 큐의 머리를 검색하되 제거하지는 않아요.remove()— 이 큐의 머리를 검색하고 제거해요.