栈是一种线性结构
相比数组,栈对应的操作是数组的子集
栈只能从一端添加元素,也只能从一端取出元素,这一端称为栈顶
栈是一种后进先出的数据结构(Last In First Out:LIFO)
栈的一些应用:undo操作、系统调用栈、括号匹配(编译器)
对于栈的实现,可以利用多态来调用之前实现数组的方法,先做一个接口interface
// 定义接口利用多态来复用Array的方法
public interface Stack {
int getSize();
boolean isEmpty();
void push(E e);
E pop();
E p