前面我们介绍了队列Queue的两个实现类LinkedList和PriorityQueue,LinkedList还实现了双端队列接口Deque,Java容器类中还有一个双端队列的实现类ArrayDeque,它是基于数组实现的。
我们知道,一般而言,由于需要移动元素,数组的插入和删除效率比较低,但ArrayDeque的效率却非常高,它是怎么实现的呢?本节我们就来详细探讨。
我们首先来看ArrayDeque的用法,然后来分析其实现原理,最后总结分析其特点。
用法
ArrayDeque实现了Deque接口,同LinkedList一样,它的队列长度也是没有限制的,在LinkedList一节我们介绍过Deque接口,这里简要回顾一下。
Deque扩展了Queue,有队列的所有方法,还可以看做栈,有栈的基本方法push/pop/peek,还有明确的操作两端的方法如addFirst/removeLast等。
ArrayDeque有如下构造方法:
public ArrayDeque() public ArrayDeque(网友评论

