package com.gc.Stack; /** * java中stack的使用方法,堆栈是一种"后进先出"(LIFO)的数据结构,只能在一端进行插入(称为"压栈")或删除(称为"出栈")数据的操作. * Java中,使用java.util.Stack类的构造方法创建对象 * public class Stack extends vector * 构造方法:public Stack()创建一个空Stack * 1.public push(item)把item压入栈顶.其作用与addElement(item)相同 * 2.public pop移除栈顶对象,并作为函数的值返回该对象 * 3.public peek()查看栈顶对象而不移除它 * 4.public boolean empty()测试堆栈是否为空 * 5.public int search(Object object)返回对象在堆栈中的位置 */ import java.util.Enumeration; import java.util.Stack; /** * 学习Stack的用法 * @author Android将军 * */ public class StackTest { public static void main(String[] args) { //创建堆栈对象 Stack stack=new Stack(); System.out.println("aaaa,bbbb,cccc三个元素入栈"); //向栈中压入字符串aaaa stack.push("aaaa"); //显示栈中的所有元素 printStack(stack); stack.push("bbbb"); printStack(stack); stack.push("cccc"); printStack(stack); String s=new String("aaaa"); System.out.println("元素aaaa在堆栈的位置"+stack.search(s)); s=new String("bbbb"); System.out.println("元素bbbb在堆栈的位置"+stack.search(s)); System.out.println("aaaa,bbbb,cccc三个元素出栈"); System.out.println("元素"+stack.pop()+"出栈"); printStack(stack); System.out.println("元素"+stack.pop()+"出栈"); printStack(stack); System.out.println("元素"+stack.pop()+"出栈"); printStack(stack); } private static void printStack(Stack stack) { if(stack.empty()) { System.out.println("堆栈是空的,没有元素"); } else { System.out.print("堆栈中的元素:"); //得到Stack中的枚举对象 Enumeration items=stack.elements(); //显示枚举(stack)中的所有元素 while(items.hasMoreElements()) { System.out.print(items.nextElement()+""); } } System.out.println();//换行 } }
执行效果图如下:
转载请注明出处:http://blog.csdn.net/android_jiangjun/article/details/39183891
原文地址:http://blog.csdn.net/android_jiangjun/article/details/39183891