##说明
为了加深自己对栈结构的理解,仿照Stack源码自定义了一个栈
##特点
先进后出,后进先出
##方法
压栈:push()
出栈:pop()
顶部元素:peek()
查询元素:search(E e)
##代码
import java.util.EmptyStackException;
import java.util.Stack;
import java.util.Vector;
public class ImitationStack<E> extends Vector<E> {
public ImitationStack() {
}
public synchronized E push(E e) {
addElement(e);
return e;
}
public synchronized E peek() {
if (this.size() == 0) {
throw new EmptyStackException();
}
return elementAt(size() - 1);
}
public synchronized void pop() {
if(this.size() == 0) {
throw new EmptyStackException();
}
removeElementAt(this.size() - 1);
}
public synchronized int search(E e) {
if(e == null) {
throw new NullPointerException();
}
return indexOf(e);
}
}