ArrayDeque的常用的方法
为什么要使用ArrayDeque
- 栈、队列的操作效率均比对应的Stack、Queue类高
效率为什么高? ——实现
双端队列,故根据操作头尾的不同,可以实现 栈、队列的功能。
todo:看一下源码实现。
坑——pop/push
写最小栈总是写不对,于是仔细看了一眼下ArrayDeque里面的实现方法,(和队列常规命名一样的方法没有问题,如:)
但是栈的就不一样了。
Deque的方法
操作表尾部的
- getLast()
- removeLast()
- addLast()
操作头部的
- getFirst()
- removeFirst()
- addFirst()
队列操作
可以使用的,与普通队列Queue相同的
poll()
remove()
offer(x)
add(x)
通过头尾操作模拟的
getFrist() // 出队
addLast() // 入队
栈操作
特别注意:进出操作的都是头部
pop() //得到的是头部元素
push() //插入的也是头部
具体使用:
getLast() // 出栈
addLast() // 入栈