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
此类提供一些
Queue 操作的骨架实现。当基本实现允许 not 允许 null 元素时,此类中的实现是合适的。方法 add 、remove 和 element 分别基于 offer 、poll 和 peek ,但抛出异常而不是通过 false 或 null 返回指示失败。
扩展此类的 Queue 实现必须至少定义一个不允许插入 null 元素的方法 Queue.offer(E) ,以及方法 Queue.peek() 、Queue.poll() 、Collection.size() 和 Collection.iterator() 。通常,其他方法也会被覆盖。如果无法满足这些要求,请考虑子类化 AbstractCollection 。
此类是 Java 集合框架 的成员。
- 自从:
- 1.5
-
构造方法总结
构造方法 -
方法总结
在类 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
-
构造方法详细信息
-
AbstractQueue
protected AbstractQueue()供子类使用的构造方法。
-
-
方法详情
-
add
如果可以在不违反容量限制的情况下立即将指定的元素插入此队列,则在成功时返回true并在当前没有可用空间时抛出IllegalStateException。如果
offer成功,此实现返回true,否则抛出IllegalStateException。- 指定者:
add在接口Collection<E>中- 指定者:
add在接口Queue<E>中- 重写:
add在类AbstractCollection<E>中- 参数:
e- 要添加的元素- 返回:
true(由Collection.add(E)指定)- 抛出:
IllegalStateException- 如果由于容量限制此时无法添加元素ClassCastException- 如果指定元素的类阻止它被添加到这个队列NullPointerException- 如果指定元素为空且此队列不允许空元素IllegalArgumentException- 如果此元素的某些属性阻止将其添加到此队列
-
remove
检索并删除此队列的头部。此方法与poll的不同之处仅在于,如果此队列为空,它会抛出异常。此实现返回
poll的结果,除非队列为空。- 指定者:
remove在接口Queue<E>中- 返回:
- 这个队列的头
- 抛出:
NoSuchElementException- 如果这个队列是空的
-
element
检索但不删除此队列的头部。此方法与peek的不同之处仅在于,如果此队列为空,它会抛出异常。此实现返回
peek的结果,除非队列为空。- 指定者:
element在接口Queue<E>中- 返回:
- 这个队列的头
- 抛出:
NoSuchElementException- 如果这个队列是空的
-
clear
public void clear()从此队列中删除所有元素。此调用返回后队列将为空。此实现重复调用
poll直到它返回null。- 指定者:
clear在接口Collection<E>中- 重写:
clear在类AbstractCollection<E>中
-
addAll
将指定集合中的所有元素添加到此队列。尝试将队列的 addAll 添加到自身会导致IllegalArgumentException。此外,如果指定的集合在操作过程中被修改,则此操作的行为是未定义的。此实现迭代指定的集合,并将迭代器返回的每个元素依次添加到此队列中。尝试添加元素(尤其包括
null元素)时遇到运行时异常可能会导致在抛出相关异常时仅成功添加了部分元素。- 指定者:
addAll在接口Collection<E>中- 重写:
addAll在类AbstractCollection<E>中- 参数:
c- 包含要添加到此队列的元素的集合- 返回:
true如果此队列因调用而更改- 抛出:
ClassCastException- 如果指定集合的元素的类阻止将其添加到此队列NullPointerException- 如果指定的集合包含空元素并且此队列不允许空元素,或者如果指定的集合为空IllegalArgumentException- 如果指定集合的某个元素的某些属性阻止它添加到此队列,或者如果指定集合是此队列IllegalStateException- 如果由于插入限制此时不能添加所有元素- 参见:
-