理论基础
Java中实现栈有以下两种方式:
- stack类
- LinkedList实现(继承了Deque接口)
(1) Stack实现
Stack底层是使用Vector的,而Vector支持线程同步,所以整体性能相对较低,如果没有多线程的场景,不建议使用Stack。
(2)LinkedList实现
LinkedList实现了List,Deque(实现了Queue接口)的接口,底层是双向链表实现的,所以不仅可以表示栈,也可以表示队列。
队列
(1)使用LinkedList实现队列
底层是链表
(2)使用ArrayDeque实现队列
底层是数组实现
232.用栈实现队列
一个栈管理压入,一个栈管理弹出。
分清this.pop和stackout.pop的区别。this.push和stackout.push的区别。
public int peek() {
int result=this.pop();
stackOut.push(result);
return result;
}
225. 用队列实现栈
1.队列是先进先出的规则,把一个队列中的数据导入另一个队列中,数据的顺序并没有变,并没有变成先进后出的顺序。如果用两个队列操作,另一个队列只是当备份的角色。
2.获取栈顶元素相当于构建的栈弹出再压入。
标签:10,LinkedList,队列,pop,实现,用栈,push,Stack From: https://blog.csdn.net/bless_______/article/details/139423711