介绍
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);
}