官方解释:
Queue 也是 Java 集合框架中定义的一种接口,直接继承自 Collection 接口。除了基本的 Collection 接口规定测 *** 作外,Queue 接口还定义一组针对队列的特殊 *** 作。通常来说,Queue 是按照先进先出(FIFO)的方式来管理其中的元素的,但是优先队列是一个例外。
Deque 接口继承自 Queue接口,但 Deque 支持同时从两端添加或移除元素,因此又被成为双端队列。鉴于此,Deque 接口的实现可以被当作 FIFO队列使用,也可以当作LIFO队列(栈)来使用。官方也是推荐使用 Deque 的实现来替代 Stack。
ArrayDeque 是 Deque 接口的一种具体实现,是依赖于可变数组来实现的。ArrayDeque 没有容量限制,可根据需求自动进行扩容。ArrayDeque不支持值为 null 的元素。
public interface Queueextends Collection { //向队列中插入一个元素,并返回true //如果队列已满,抛出IllegalStateException异常 boolean add(E e); //向队列中插入一个元素,并返回true //如果队列已满,返回false boolean offer(E e); //取出队列头部的元素,并从队列中移除 //队列为空,抛出NoSuchElementException异常 E remove(); //取出队列头部的元素,并从队列中移除 //队列为空,返回null E poll(); //取出队列头部的元素,但并不移除 //如果队列为空,抛出NoSuchElementException异常 E element(); //取出队列头部的元素,但并不移除 //队列为空,返回null E peek(); }
Deque 提供了双端的插入与移除 *** 作,如下表:
Deque 和 Queue 方法的的对应关系如下:
Deque 和 Stack 方法的对应关系如下:
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)