Deque 是 ”double ended queue“ 的缩写,通常发音是 ”deck“。顾名思义,就是在队头或者队尾都可以插入或者删除。而 Queue 只能在队列尾部插入,在队列头部获取。
与 Queue 一样,它的插入/删除/获取都有两个版本:
1. 操作失败时抛出异常。
2. 操作失败时返回 null 或者 false.
与 Queue 一样,这个借口不提供按照下标访问: get(int i)。
它主要有两种实现:
1. LinkedList:从名字就能看出来,是用双向链表实现的。
2. ArrayDeque:也可以从名字看出来,是通过数组实现的。
参考链接:
1. https://docs.oracle.com/javase/8/docs/api/java/util/Deque.html