栈01--[栈接口设计&&栈应用]
1.栈
2.栈的接口设计
java官方的stack实现是继承自 vector(类似数组)
vector 是线程安全的
ArrayList是非线程安全的
3.栈的应用--浏览器的前进和后退
只要输入新的网址 右边的那个栈数据都会被清空
4.代码
java版本实现
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
public class Stack<E> { private List<E> list = new ArrayList<>(); public void clear() { list.clear(); } public int size() { return list.size(); } public boolean isEmpty() { return list.isEmpty(); } public void push(E element) { list.add(element); } public E pop() { return list.remove(list.size() - 1); } public E top() { return list.get(list.size() - 1); } }