赞
踩
(1)Queue是java中实现队列的接口,它总共只有6个方法,我们一般只用其中3个就可以了:offer()
、poll()
、peek();
(2)Queue的实现类有LinkedList
和PriorityQueue
。最常用的实现类是LinkedList
。
java.util.Queue<E> 5 add--remove--element--抛出异常 offer--poll--peek--返回特殊值 boolean add(E element); boolean offer(E element); 如果队列没有满,将给定的对象添加到队列的队尾,并返回true; 如果双端队列已满,第一个方法抛出 IllegalStateException,第二个方法返回 false。 E remove(); E poll(); 如果队列不为空,删除并返回 队列队头的元素。 如果队列为空,第一个方法抛出 NoSuchElementException,第二个方法返回 null。 E element(); E peek(); 如果队列不为空,返回 队列队头的元素,但不删除。 如果队列为空,第一个方法抛出 NoSuchElementException,第二个方法返回 null。 //《Java核心技术 卷I》
Queue方法(一进一出) | 等效Deque方法(二进二出) |
---|---|
add() | addLast() |
remove() | removeFirst() |
element() | getFirst() |
—— | —— |
offer() | offerLast() |
poll() | pollFirst() |
peek() | peekFirst() |
(1)Deque是一个双端队列接口,继承自Queue接口,Deque的实现类是LinkedList
、ArrayDeque
、LinkedBlockingDeque
,其中LinkedList
是最常用的。
Queue<> queue = new LinkedList<>();
或 Deque<> deque = new LinkedList<>();
Deque<> queue = new LinkedList<>();
Deque<> deque = new LinkedList<>();
注意:Java堆栈Stack类已经过时,Java官方推荐使用Deque替代Stack使用。
push();
pop();
peek();
堆栈方法 | 等效Deque方法 |
---|---|
push() | addFirst() |
pop() | removeFirst() |
peek() | peekFirst() |
java.util.Deque<E> JDk 1.6 First--Last add--remove--get--抛出异常 offer--poll--peek--返回特殊值 void addFirst(E element); void addLast(E element); E removeFirst(); E removeLast(); E getFirst(); E getLast(); boolean offerFirst(E element); boolean offerLast(E element); E pollFirst(); E pollLast(); E peekFirst(); E peekLast(); 将给定的对象添加到双端队列的队头或队尾。 如果双端队列已满,前面两个方法抛出 IllegalStateException,后面两个方法返回 false。 如果双端队列不为空,删除并返回 双端队列队头/队尾的元素。 如果双端队列为空,前面两个方法抛出 NoSuchElementException,后面两个方法返回 null。 如果双端队列不为空,则返回 双端队列队头/队尾的元素,但不删除。 如果双端队列为空,前面两个方法抛出 NoSuchElementException,后面两个方法返回 null。 //《Java核心思想 卷I》
关于Queue的更多详情:【Java】Java双端队列Deque使用详解
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。