
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