让我们再了解一下ArrayDeque,首先,从它的定义来剖析,
public class LinkedBlockingDeque--------------------------------------------------------------------------------------------
public interface BlockingDeque--------------------------------------------------------------------------------------------
public interface BlockingQueue--------------------------------------------------------------------------------------------
public interface Deque
类型参数:
E - 在此集合中含有的元素的类型
此类实现的所有接口:
Serializable, Iterable
下面就一步步了解LinkedBlockingDeque,
概括的说,它是,基于链接节点的可选有界阻塞双端队列。
线程安全性
java.util.concurrent.LinkedBlockingDeque
它是JUC下的类,线程安全。
容量限制
可选的容量绑定构造函数参数用作防止过度扩展的一种方式。如果不指定容量大小,则默认等于 Integer.MAX_VALUE。 在不超出容量的情况下,链接节点会在每次插入时被动态创建。
运行时间
如果忽略阻塞所花费的时间,大多数 LinkedBlockingDeque 的操作,运行在常数时间内。例外的情况,像这些操作 remove, removeFirstOccurrence, removeLastOccurrence, contains, iterator.remove() 及所有的批量操作,都运行在线性时间内,与元素的多少线性相关。
其他
此类及其迭代器实现了 Collection 和 Iterator 接口的所有可选方法。
此类也是 Java 集合框架 ( Java Collections Framework) 的一个成员。
最后,我们看一下此类的一个相关的应用:



