Deque是double ended queue的简称,习惯上称之为双端队列。
线性集合,支持两端的元素插入和移除。
Deque也可以作为LIFO(后进先出)堆栈,此接口优于传统的Stack类使用。
与List接口不同,此接口不支持索引访问元素。
Deque的使用场景
在一般情况,不涉及到并发的情况下,有两个实现类,可根据其自身的特性进行选择,分别是:
- LinkedList 大小可变的链表双端队列,允许元素为插入null。(线程不安全的容器)
- ArrayDeque 大下可变的数组双端队列,不允许插入null。(线程不安全的容器)
- ConcurrentLinkedDeque 大小可变且线程安全的链表双端队列,非阻塞,不允许插入null。
- LinkedBlockingDeque 为线程安全的双端队列,在队列为空的情况下,获取操作将会阻塞,直到有元素添加。
作者:我是吸血鬼
链接:https://www.jianshu.com/p/d78a7c982edb
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
0 Comments