- java.lang.Object
 -  
      
- java.util.AbstractCollection<E>
 -  
        
- java.util.AbstractQueue<E>
 
 
 
-  
       
- 参数类型
 -  
         
E- 此队列中保留的元素类型 
- 实现的所有接口
 -  
         
Iterable<E>,Collection<E>,Queue<E> 
- 已知直接子类:
 -  
         
ArrayBlockingQueue,ConcurrentLinkedQueue,DelayQueue,LinkedBlockingDeque,LinkedBlockingQueue,LinkedTransferQueue,PriorityBlockingQueue,PriorityQueue,SynchronousQueue 
public abstract class AbstractQueue<E> extends AbstractCollection<E> implements Queue<E>
此类提供了一些Queue操作的骨干实现。 当基实现不允许在这个类的实现方式是合适null元件。 方法add,remove和element是基于offer,poll,和peek,分别,但抛出异常而不是通过指示故障false或null回报。甲
Queue扩展此类实现必须最低限度地限定的方法Queue.offer(E),它不允许插入null元素,用方法一起Queue.peek(),Queue.poll(),Collection.size(),和Collection.iterator()。 通常,还会覆盖其他方法。 如果无法满足这些要求,请考虑继承子类AbstractCollection。此课程是Java Collections Framework的成员。
- 从以下版本开始:
 - 1.5
 
 
-  
        
       
-  
             
构造方法摘要
构造方法 变量 构造器 描述 protectedAbstractQueue()子类使用的构造方法。 
-  
             
方法摘要
所有方法 实例方法 具体的方法 变量和类型 方法 描述 booleanadd(E e)如果可以在不违反容量限制的情况下立即执行此操作,则将指定的元素插入此队列,成功时返回true,如果当前没有可用空间,则抛出IllegalStateException。booleanaddAll(Collection<? extends E> c)将指定集合中的所有元素添加到此队列。voidclear()从此队列中删除所有元素。Eelement()检索但不删除此队列的头部。Eremove()检索并删除此队列的头部。-  
               
声明方法的类 java.util.AbstractCollection
contains, containsAll, isEmpty, iterator, remove, removeAll, retainAll, toArray, toArray, toString 
-  
               
声明方法的类 java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait 
-  
               
声明方法的接口 java.util.Collection
contains, containsAll, equals, hashCode, isEmpty, iterator, parallelStream, remove, removeAll, removeIf, retainAll, size, spliterator, stream, toArray, toArray, toArray 
 -  
               
 
 -  
             
 
-  
        
       
-  
             
方法详细信息
-  
add
public boolean add(E e)
如果可以在不违反容量限制的情况下立即执行此操作,则将指定的元素插入此队列,成功时返回true,如果当前没有可用空间,则抛出IllegalStateException。如果
offer成功,此实现返回true,否则抛出IllegalStateException。- Specified by:
 -  
              
add在界面Collection<E> - Specified by:
 -  
              
add在界面Queue<E> - 重写:
 -  
              
add在课堂AbstractCollection<E> - 参数
 -  
              
e- 要添加的元素 - 结果
 -  
              
true(由Collection.add(E)指定) - 异常
 -  
              
IllegalStateException- 如果由于容量限制,此时无法添加元素 -  
              
ClassCastException- 如果指定元素的类阻止将其添加到此队列 -  
              
NullPointerException- 如果指定的元素为null且此队列不允许null元素 -  
              
IllegalArgumentException- 如果此元素的某些属性阻止将其添加到此队列 
 
-  
remove
public E remove()
- Specified by:
 -  
              
remove在界面Queue<E> - 结果
 - 这个队列的头
 - 异常
 -  
              
NoSuchElementException- 如果此队列为空 
 
-  
element
public E element()
- Specified by:
 -  
              
element在界面Queue<E> - 结果
 - 这个队列的头
 - 异常
 -  
              
NoSuchElementException- 如果此队列为空 
 
-  
clear
public void clear()
- Specified by:
 -  
              
clear在界面Collection<E> - 重写:
 -  
              
clear在课程AbstractCollection<E> 
 
-  
addAll
public boolean addAll(Collection<? extends E> c)
将指定集合中的所有元素添加到此队列。 尝试将所有队列添加到自身会导致IllegalArgumentException。 此外,如果在操作正在进行时修改了指定的集合,则此操作的行为是不确定的。此实现迭代指定的集合,并依次将迭代器返回的每个元素添加到此队列。 尝试添加元素时遇到的运行时异常(特别是包括
null元素)可能导致在抛出关联异常时仅成功添加了一些元素。- Specified by:
 -  
              
addAll在界面Collection<E> - 重写:
 -  
              
addAll在类AbstractCollection<E> - 参数
 -  
              
c- 包含要添加到此队列的元素的集合 - 结果
 -  
              
true如果此队列因调用而更改 - 异常
 -  
              
ClassCastException- 如果指定集合的元素的类阻止将其添加到此队列 -  
              
NullPointerException- 如果指定的集合包含null元素,并且此队列不允许null元素,或者指定的集合为null -  
              
IllegalArgumentException- 如果指定集合的某个元素的某些属性阻止将其添加到此队列,或者指定的集合是此队列 -  
              
IllegalStateException- 如果不是因为插入限制,此时可以添加所有元素 - 另请参见:
 -  
              
add(Object) 
 
 -  
 
 -