ArrayDeque
ArrayDeque
是Deque
接口的一个实现,使用了可变数组,所以没有容量上的限制。同时,ArrayDeque
是线程不安全的,在没有外部同步的情况下,不能再多线程环境下使用。
ArrayDeque
是Deque
的实现类,可以作为栈来使用,效率高于Stack
;也可以作为队列来使用,效率高于LinkedList
。需要注意的是,ArrayDeque
不支持null
值。
ArrayDeque 初识
说明书和继承关系
还是按照国际惯例,先看一下ArrayDeque 的说明书
,其实往往很多时候你的困惑都在说明书
里写着呢,但是在此之前我们还是先看一下它的继承关系,让我们有一个大概的认识
我们看到ArrayDeque 是通过实现Deque接口从而具有了Deque队列的功能,因为ArrayDeque的Deque是继承了Queue的接口,所以ArrayDeque同时有了Queue的功能,需要注意的是因为ArrayDeque是一个双向队列,队列的两端都可以进行添加删除弹出等操作,所有我们可以将双向队列当成Stack 来使用