Java 编程中的堆栈
堆栈是 Vector 的子类,它实现了一个标准的后进先出堆栈。
堆栈只定义默认的构造函数,它创建一个空堆栈。堆栈包括 Vector 定义的所有方法,并添加了一些自己的方法。
Stack( )
除了从其父类 Vector 继承的方法外,堆栈还定义了以下方法 −
| 序号 | 方法 & 描述 |
|---|---|
| 1 | boolean empty() 测试此堆栈是否为空。如果堆栈为空,则返回 true,如果堆栈包含元素,则返回 false。 |
| 2 | Object peek( ) 返回堆栈顶部的元素,但不将其移除。 |
| 3 | Object pop( ) 返回堆栈顶部的元素,同时将其移除。 |
| 4 | Object push(Object element) 将元素压入堆栈。也会返回元素。 |
| 5 | int search(Object element) 在堆栈中搜索元素。如果找到,则返回它距堆栈顶部的偏移量。否则,返回 -1。 |
示例
下列程序演示了集合支持的多种方法。
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");
}
}
}
输出
stack: [ ] push(42) stack: [42] push(66) stack: [42, 66] push(99) stack: [42, 66, 99] pop -> 99 stack: [42, 66] pop -> 66 stack: [42] pop -> 42 stack: [ ] pop -> empty stack
广告
数据结构
网络
关系型数据库管理系统
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP