The Stack class represents a last-in-first-out stack of objects. It extends class Vector with five operations that allow a vector to be treated as a stack.
public class Test { public static void main(String[] args) { Stack<String> stack = new Stack<String>(); stack.push("gege"); stack.push("fei"); System.out.println(stack.pop() + stack.pop()); } } 结果:feigege
/** * The array buffer into which the components of the Stack are stored. */ protected Object[] elementData;
/** * Creates an empty Stack. */ public Stack() { }
入栈
/** * Pushes an item onto the top of this stack. */ public E push(E item) { addElement(item); return item; }
出栈
/** * Removes the object at the top of this stack and returns that * object as the value of this function. */ public synchronized E pop() { E obj; int len = size(); obj = peek(); removeElementAt(len - 1); return obj; }
看栈顶
/** * Looks at the object at the top of this stack without removing it * from the stack. */ public synchronized E peek() { int len = size(); if (len == 0) throw new EmptyStackException(); return elementAt(len - 1); }