Deque<> 可以用LinkedList<>()来实现。
API如下:
Deque对头部操作
抛出异常 | 返回特殊值 | |
---|---|---|
插入 | addFirst() | offerFirst() |
删除 | removeFirst() | pollFirst() |
查看 | getFirst() | peekFirst() |
Deque对尾部操作
抛出异常 | 返回特殊值 | |
---|---|---|
插入 | addLast() | offerLast() |
删除 | removeLast() | pollLast() |
查看 | getLast() | peekLast() |
使用这些api就可以实现栈和队列的操作了。
Stack的API
Stack的方法 | Deque的方法 |
---|---|
push() | addFirst() |
pop() | removeFirst() |
peek() | getFirst() / 文档上写的peekFirst() |
Queue的API
Queue的方法 | Queue的方法 |
---|---|
add() | addLast() |
offer()(也是添加方法) | offerLast() |
remove() | removeFirst() |
poll() | pollFirst() |
element() | getFirst() |
peek() | peekFirst() |
使用双端队列,我只想记双端队列的使用方法,然后根据栈和队列的特点使用双端队列实现就可以了。
抛异常的方法:add get remove
返回特殊值的方法:offer poll peek