java Stack 类 (栈)
2016-03-28 20:29
429 查看
主要测试了一下“栈“的特点“先进后出”,测试如下:
画了两张图,来解释一下:
另外如果,全部出完栈后,如果再次pop的话会抛出“栈空”
java.util.EmptyStackException
at java.util.Stack.peek(Unknown Source)
如有错误,还请指正。
import java.util.Stack; /** * 2016年3月28日20:18:18 * @author G_F * Tip: Stack类的测试 */ public class StackTest { //静态方法 public static String getEmpty(Stack<String> stack) { //测试堆栈是否为空 return (stack.empty())?"堆栈是空的" :"堆栈不是空的"; } //程序主入口 public static void main(String [] args) { Stack<String> stack = new Stack<String>(); /* 把项压入前 输出结果为:堆栈是空的 */ System.out.println("把项压入前:" + getEmpty(stack)); stack.push("我"); //入栈 stack.push("的"); //入栈 stack.push("手"); //入栈 stack.push("让"); //入栈 stack.push("你"); //入栈 stack.push("牵"); //入栈 /* 把项压入后 输出结果为:把项压入后:堆栈不是空的 */ System.out.println("把项压入后:" + getEmpty(stack)); /* 输出堆栈顶部的对象 输出结果为:执行pop前的“栈顶”的对象是:牵 */ System.out.println("执行pop前的“栈顶”的对象是:" + stack.peek()); /* 输出对象在堆栈中的位置 输出结果为:对象“手”在执行pop“前”的位置是:4 */ System.out.println("对象“手”在执行pop“前”的位置是:" + stack.search("手")); /* 输出移除的堆栈顶部的对象(出栈) 输出结果为:pop掉的对象是:牵 */ System.out.println("pop掉的对象是:" + stack.pop()); /* 输出对象在堆栈中的位置 输出结果为:对象“手”在执行pop“后”的位置是:3 */ System.out.println("对象“手”在执行pop“后”的位置是:" + stack.search("手")); // /* 输出堆栈顶部的对象 输出结果为:执行pop后的“栈顶”的对象是:你 */ System.out.println("执行pop后的“栈顶”的对象是:" + stack.peek()); } }
画了两张图,来解释一下:
另外如果,全部出完栈后,如果再次pop的话会抛出“栈空”
java.util.EmptyStackException
at java.util.Stack.peek(Unknown Source)
如有错误,还请指正。
相关文章推荐
- java对世界各个时区(TimeZone)的通用转换处理方法(转载)
- java-注解annotation
- java-模拟tomcat服务器
- java-用HttpURLConnection发送Http请求.
- java-WEB中的监听器Lisener
- Android IPC进程间通讯机制
- Android之使用Http协议实现文件上传功能
- Android Native 绘图方法
- Android java 与 javascript互访(相互调用)的方法例子
- 介绍一款信息管理系统的开源框架---jeecg
- 聚类算法之kmeans算法java版本
- java实现 PageRank算法
- C语言中内存分布及程序运行中(BSS段、数据段、代码段、堆栈)
- PropertyChangeListener简单理解
- c++11 + SDL2 + ffmpeg +OpenAL + java = Android播放器
- 插入排序
- 冒泡排序
- 堆排序