Java 简明教程
Java Stack Class
Introduction
Stack 是 Vector 的一个子类,它实现了一个标准的后进先出栈。
Stack 只定义默认构造函数,它创建一个空栈。Stack 包含由 Vector 定义的所有方法,并添加了几个自己的方法。
Java Stack 类表示一个对象的后进先出 (LIFO) 栈。
-
当先创建一个栈时,它不包含任何项。
-
在此类中,最后插入的元素最先访问。
Methods inherited
此类从以下类中继承方法:
-
java.util.Vector
-
java.util.Collection
-
java.util.Object
-
java.util.List
Example
以下程序说明了 Stack 集合支持的若干方法 -
import java.util.*;
public class StackDemo {
static void showpush(Stack st, int a) {
st.push(new Integer(a));
System.out.println("push(" + a + ")");
System.out.println("stack: " + st);
}
static void showpop(Stack st) {
System.out.print("pop -> ");
Integer a = (Integer) st.pop();
System.out.println(a);
System.out.println("stack: " + st);
}
public static void main(String args[]) {
Stack st = new Stack();
System.out.println("stack: " + st);
showpush(st, 42);
showpush(st, 66);
showpush(st, 99);
showpop(st);
showpop(st);
showpop(st);
try {
showpop(st);
} catch (EmptyStackException e) {
System.out.println("empty stack");
}
}
}
这会产生以下结果 −