import java.util.ArrayList;import java.util.List;//栈的本质就是线性表,因为总在线性表的表尾端进行操作(出栈入栈),其重要特性为FILO先进后出//所以在实现上选择 动态数组 和 双向链表 的进行出栈入栈的时间复杂度均为O(1),//实现各个方法也和之前学过的差不多,这里偷懒选择用java自带的Arraylist动态数组类简单实现栈//栈的应用很广泛,比如浏览器的前进后退功能其实就是用两个栈做到的public class StackZH<E> {private List<E> list = new ArrayList<>();public void push(E element){list.add(element);}public E pop(){//类中调用已包含的别的类的变量需要类名.E element = list.remove(list.size()-1);return element;}public boolean isEmpty(){return list.isEmpty();}public void clear(){list.clear();}public E peek(){E element = list.get(list.size()-1);return element;}public int size(){return list.size();}}