关于Stack的说明
2004-11-30 21:12
591 查看
用程序来说明一切吧
package com.tianyu.summer;
/**
* @author Summer
*
*/
import java.util.*;
public class StackTest {
public StackTest() {
Stack stack = new Stack();
Boolean bool = Boolean.TRUE;
Character character = new Character('$');
/**
* 堆栈压栈时必须压入Object类型, 所以前面定义的类型全部是是Object的子类
*/
try {
stack.push(bool);
printStack(stack);
stack.push(character);
printStack(stack);
/**
* 当要弹出堆栈的时候不需要带参数 因为堆栈是又一定的弹出规律的,如果自带参数程序会出错
*/
stack.pop(); //
printStack(stack);
stack.pop();
printStack(stack);
stack.pop();
} catch (EmptyStackException e) {
/**
* 抛出 java.util.EmptyStackException at java.util.Stack.peek(Unknown
* Source) at java.util.Stack.pop(Unknown Source) at
* com.tianyu.summer.StackTest. <init>(StackTest.java:31) at
* com.tianyu.summer.StackTest.main(StackTest.java:64)
* 因为堆栈为空,所以不能再进行出栈操作
*/
e.printStackTrace();
}
}
public void printStack(Stack stack) {
if (stack.isEmpty()) {
System.out.println("堆栈为空");
} else {
System.out.print("堆栈包含:");
Enumeration items = stack.elements();
while (items.hasMoreElements()) {
System.out.print(items.nextElement() + " ");
}
System.out.print("/n");
}
}
public void removeStack(Stack stack) {
if (stack.isEmpty()) {
System.out.println("堆栈为空");
} else {
System.out.print("堆栈包含:");
Enumeration items = stack.elements();
while (items.hasMoreElements()) {
System.out.print(items.nextElement() + " ");
}
System.out.print("/n");
}
}
public static void main(String[] args) {
new StackTest();
}
}
package com.tianyu.summer;
/**
* @author Summer
*
*/
import java.util.*;
public class StackTest {
public StackTest() {
Stack stack = new Stack();
Boolean bool = Boolean.TRUE;
Character character = new Character('$');
/**
* 堆栈压栈时必须压入Object类型, 所以前面定义的类型全部是是Object的子类
*/
try {
stack.push(bool);
printStack(stack);
stack.push(character);
printStack(stack);
/**
* 当要弹出堆栈的时候不需要带参数 因为堆栈是又一定的弹出规律的,如果自带参数程序会出错
*/
stack.pop(); //
printStack(stack);
stack.pop();
printStack(stack);
stack.pop();
} catch (EmptyStackException e) {
/**
* 抛出 java.util.EmptyStackException at java.util.Stack.peek(Unknown
* Source) at java.util.Stack.pop(Unknown Source) at
* com.tianyu.summer.StackTest. <init>(StackTest.java:31) at
* com.tianyu.summer.StackTest.main(StackTest.java:64)
* 因为堆栈为空,所以不能再进行出栈操作
*/
e.printStackTrace();
}
}
public void printStack(Stack stack) {
if (stack.isEmpty()) {
System.out.println("堆栈为空");
} else {
System.out.print("堆栈包含:");
Enumeration items = stack.elements();
while (items.hasMoreElements()) {
System.out.print(items.nextElement() + " ");
}
System.out.print("/n");
}
}
public void removeStack(Stack stack) {
if (stack.isEmpty()) {
System.out.println("堆栈为空");
} else {
System.out.print("堆栈包含:");
Enumeration items = stack.elements();
while (items.hasMoreElements()) {
System.out.print(items.nextElement() + " ");
}
System.out.print("/n");
}
}
public static void main(String[] args) {
new StackTest();
}
}
相关文章推荐
- ATL实现Connection Point的一种简单的方法
- 哪位仁兄帮一下编个小程序
- Java测试规范(引用)
- Java面试题目
- 一个非常不错的业务规则管理器
- delphi中的时间操作技术(2)
- DirectX.Capture
- 解析IP地址为主机域名
- 将某一主机域名解析为IP地址
- 有关TrueDBGrid的问题向各位大虾请教
- 使用C#开发COM+组件
- 看到一篇好文章与大家分享!!!!!
- 使用FSO把文本信息导入数据库
- 纯编码实现数据库的建立或压缩
- 从数据库中动态选取下拉列表的方法
- 用ASP备份数据库
- thinking in c++ 卷2
- thinking in c++卷2
- Netscaler数据索引String Map与Pattern Set的区别