A Guide to Deque

你的名字 2024-03-30 16:47 186阅读 0赞

Deque 是 “*double ended queue(双端队列)” 的缩写,通常读为 “deck*”,是一个线性集合,支持在两端插入和移除元素。


三种用途

双端队列 (两端都可进出)

  1. Deque<Integer> deque = new LinkedList<>();

































操作 Special value Throws exception Special value Throws exception
Insert offerFirst(e) addFirst(e) offerLast(e) addLast(e)
Remove pollFirst() removeFirst() pollLast() removeLast()
Examine peekFirst() getFirst() peekLast() getLast()
  1. # Insert
  2. offerFirst(e) offerLast(e)
  3. addFirst(e) addLast(e)
  4. # Remove
  5. pollFirst() pollLast() null
  6. removeFirst() removeLast() NoSuchElementException
  7. # Examine
  8. peekFirst() peekLast() null
  9. getFirst() getLast() NoSuchElementException

普通队列 (一端进另一端出)

  1. Queue<Integer> queue = new LinkedList();
  2. Deque<Integer> deque =new LinkedList();













































操作 Queue方法 Special value 等效Deque方法 Special value
Insert offer(e) offerLast(e)
Remove poll() pollFirst()
Examine peek() peekFirst()
Queue方法 Throws exception 等效Deque方法 Throws exception
Insert add(e) addLast(e)
Remove remove() removeFirst()
Examine element() getFirst()

堆栈

  1. Deque<Integer> deque = new LinkedList<>();
  2. Stack<Integer> stack = new Stack<>();

























操作 Stack Throws exception 等效Deque方法 Throws exception
Insert push(e) addFirst(e)
Remove pop() removeFirst()
Examine peek() getFirst()

参考

https://blog.csdn.net/qq_42398447/article/details/125957910
https://blog.csdn.net/devnn/article/details/82716447
https://www.likecs.com/show-203674798.html

发表评论

表情:
评论列表 (有 0 条评论,186人围观)

还没有评论,来说两句吧...

相关阅读

    相关 A Guide to Deque

    Deque 是 “`double ended queue`(双端队列)” 的缩写,通常读为 “`deck`”,是一个线性集合,支持在两端插入和移除元素。 ----------