Stack详解

java.util.Stack栈

1、介绍

stack(栈) 集合类的一种,在Vector集合上扩展的类,新增三个重要操作 push() pop() peek()
其内部直接使用父类Vector中的 protected Object[] elementData;来保存数据;

支持自动扩容
支持先进后出,获取的元素永远是栈顶的数据

类继承结构:

Stack详解


方法描述

方法名 修饰符 描述
push 栈中放入一个元素
pop synchronized 从栈顶弹出一个元素 对于内部数组会减少一个
peek synchronized 获取栈顶的元素,对于内部数组数据不会改变

public E push(E item) {
        addElement(item);
        return item;
}


public synchronized E peek() {
        int     len = size();

        if (len == 0)
            throw new EmptyStackException();
        return elementAt(len - 1);
}


public synchronized E pop() {
        E       obj;
        int     len = size();

        obj = peek();
        removeElementAt(len - 1);

        return obj;
}
上一篇:剑指 Offer 30. 包含min函数的栈


下一篇:3. 队列