栈是一种先进后出的数据结构,在Java中对应的接口为 Deque
,Stack
接口已经不建议使用。Deque
接口继承自Queue
接口,实则为双端队列,支持两端元素的插入、删除与访问。
Deque
的方法有:
首端操作:
抛出异常 | 返回特殊值 | |
---|---|---|
查看 | getFirst() | peekFrist() |
插入 | addFirst() | offerFirst() |
删除 | removeFirst() | pollFirst() |
尾端操作:
抛出异常 | 返回特殊值 | |
---|---|---|
查看 | getLast() | peekLast() |
插入 | addLast() | offerLast() |
删除 | removeLast() | pollLast() |
栈方法对应的 Deque
方法:
栈方法 | Deque方法 | |
---|---|---|
查看 | peek() | peekFirst() |
插入 | push() | addFirst() |
删除 | pop() | removeFirst() |
Deque
主要实现类有:
使用例子:
Deque<Integer> deque=new LinkedList<>();
deque.push(1);
deque.peek();
deque.pop();