在Java零基础手把手系列:Queue最简入门之后,今天一起学习其中双端队列Deque的一种实现:ArrayDeque
可以添加博主VX:crazy042438讨论
目录
1. ArrayDeque简介
2. 主要方法
3. 主要用法
3.1 使用ArrayDeque实现Stack
3.2 使用ArrayDeque实现Queue
4.实现原理简析
4.1 主要成员
4.2 特别的容量计算
4.2.1 容量是如何计算的
4.2.2 容量计算图解
4.3 用作Stack(栈)
4.4 用作Queue(队列)
5. ArrayDeque特点总结
1. ArrayDeque简介
ArrayDeque是一种特殊的自增长数组:允许往它的头部和尾部插入或者删除数据,它是Java内置的实现类(继承自Deque)。
既然头部/尾部都可以添加/删除数据,所以ArrayDeque可以用来实现数据结构中的Stack(后进先出LIFO)和队列(先进先出FIFO)。
虽然Java里面实现Stack和Queue有很多替换类,但是文档里面说:
这就非常有意思了,我们一起来看看。
2. 主要方法
ArrayDeque的方法(增加删除等)都提供两类操作:一类调用之后返回状态(如true),一类调用不成功会抛出异常,如(NullPointerException),主要的方法如下:
功能 | 方法 | 返回状态 | 方法 | 抛出异常 |
---|---|---|---|---|
往头部插入 | offerFirst(e) | true/异常 | addFirst(e) | NullPointerException |
从头部删除 | pollFirst() | nu |