package java.util;publicclassStack<E>extendsVector<E>{/**
* Creates an empty Stack.
*/publicStack(){}/**
* 将一个itempush到Stack的顶部
*/public E push(E item){addElement(item);return item;}/**
* 删除此Stack顶部的对象并将该对象作为此函数的值返回。
*/publicsynchronized E pop(){
E obj;int len =size();
obj =peek();removeElementAt(len -1);return obj;}/**
* 查看此Stack顶部的对象,但不将其从Stack中删除。
*/publicsynchronized E peek(){int len =size();if(len ==0)thrownewEmptyStackException();returnelementAt(len -1);}/**
* Tests if this stack is empty.
*/publicbooleanempty(){returnsize()==0;}/**
* 若stack种有这个元素,返回离stack顶部最近的元素距离顶部的距离,如果没有 返回-1
*/publicsynchronizedintsearch(Object o){int i =lastIndexOf(o);if(i >=0){returnsize()- i;}return-1;}/** use serialVersionUID from JDK 1.0.2 for interoperability */privatestaticfinallong serialVersionUID =1224463164541339165L;}