java Stack源代码实现

来源:互联网 发布:厦门第二世界网络 编辑:程序博客网 时间:2024/06/06 12:29

java Stack源代码较短,只是调用父类Vector的方法实现入栈push()、出栈pop()、得到栈顶元素peak()等操作。

总结:栈顶元素可以看成是elementData数组里的最后一个元素,入栈和出栈操作视为添加和删除elementData数组中的最后一个元素。


package java.util;public class Stack<E> extends Vector<E> {//栈顶元素可以看成是Vector对象里的最后一个元素public Stack() {    }public E push(E item) {        addElement(item);        return item;    }public synchronized E pop() {        E obj;        int len = size();        obj = peek();        removeElementAt(len - 1);        return obj;    }public synchronized E peek() {        int len = size();        if (len == 0)            throw new EmptyStackException();        return elementAt(len - 1);    }public boolean empty() {        return size() == 0;    }//确定o在栈顶第几个位置public synchronized int search(Object o) {        int i = lastIndexOf(o);        if (i >= 0) {            return size() - i;        }        return -1;    }private static final long serialVersionUID = 1224463164541339165L;}


0 0