栈是非常重要的数据结构,栈具有后进先出的特点. 在JVM内部,每个线程维护一个栈,对于每个方法调用,入栈一个元素,成为栈帧,当方法执行完成后,对应的栈帧出栈. 栈帧中,也包含一个栈,称为操作数栈. 一.定义栈 public interface Stack<Item> { // 添加一个元素 void push(Item item); // 删除最近添加的元素 Item pop(); // 栈是否为空 boolean isEmpty(); // 栈中的元素数量 int size(); } 二.数…