当前位置:  编程技术>java/j2ee

java堆栈类使用实例(java中stack的使用方法)

    来源: 互联网  发布时间:2014-10-30

    本文导语:  JAVA 中,使用 java.util.Stack 类的构造方法创建对象。  public class Stack extends vector  构造方法 : public Stack() 创建一个空 Stack。 方法:  1. public push  (item )  把项 压入栈顶。其作用与 addElement (item ) 相同。 参数 item 压入栈顶的...

JAVA 中,使用 java.util.Stack 类的构造方法创建对象。

 public class Stack extends vector

 构造方法 : public Stack() 创建一个空 Stack。

方法:  1. public push  (item )  把项 压入栈顶。其作用与 addElement (item ) 相同。

参数 item 压入栈顶的项 。 返回: item 参数 ;

2. public pop () 移除栈顶对象,并作为函数的值 返回该对象。

返回:栈顶对象(Vector 对象的中的最后一项)。

抛出异常 : EmptyStackException 如果堆栈式空的 。。。

3. public peek() 查看栈顶对象而不移除它。。

返回:栈顶对象(Vector 对象的中的最后一项)。

抛出异常 : EmptyStackException 如果堆栈式空的 。。。

4. public boolean empty (测试堆栈是否为空。)  当且仅当堆栈中不含任何项时 返回 true,否则 返回 false.

5. public int search  (object o)  返回对象在堆栈中位置, 以 1 为基数, 如果对象 o是栈中的一项,该方法返回距离 栈顶最近的出现位置到栈顶的距离; 栈中最上端项的距离为 1 。 使用equals 方法比较 o 与 堆栈中的项。。。  

参数: o 目标对象;

代码如下:

/**
 * @author yuanLi
 */
package thinkingJava;
import java.util.*;

import com.sun.org.apache.bcel.internal.generic.NEW;
/**
 *
 */
public class StackTest {

    /**
     * @param args
     */
    public static void main(String[] args) {
        Stack stack = new Stack(); // 创建堆栈对象
        System.out.println("11111, absdder, 29999.3 三个元素入栈");
        stack.push(new Integer(11111)); //向 栈中 压入整数 11111
        printStack(stack);  //显示栈中的所有元素

        stack.push("absdder"); //向 栈中 压入
        printStack(stack);  //显示栈中的所有元素

        stack.push(new Double(29999.3)); //向 栈中 压入
        printStack(stack);  //显示栈中的所有元素

        String s = new String("absdder");
        System.out.println("元素absdder在堆栈的位置"+stack.search(s));     
        System.out.println("元素11111在堆栈的位置"+stack.search(11111));

        System.out.println("11111, absdder, 29999.3 三个元素出栈"); //弹出 栈顶元素
        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("堆栈中的元素:");
                Enumeration items = stack.elements(); // 得到 stack 中的枚举对象
                while (items.hasMoreElements()) //显示枚举(stack ) 中的所有元素
                    System.out.print(items.nextElement()+" ");
            }
        System.out.println(); //换行
    }
}

    
 
 

您可能感兴趣的文章:

  • 使用java jdk中的LinkedHashMap实现简单的LRU算法
  • MySocketServer.java 使用或覆盖一个不鼓励使用的API???
  • java将类序列化并存储到mysql(使用hibernate)
  • JAVA中不赞成使用(Deprecated)的方法是否可以使用
  • 各位使用过JAVA的朋友们!JAVA好用吗?它有向VC那样的集成开发环境吗?
  • java 可以使用 可是javac不可以使用。老兄帮帮忙
  • 哪位知道如何用JAVA进行图形文件的缩放? 是使用JAVA2D 或是有第三方的软件?
  • env查看环境变量,JAVA_HOME明明在里面,但使用nutch时还是提示JAVA_HOME not set?
  • 如何使用linux下的java编译器????
  • 如何使用java这个命令?
  • 为什么使用cat输出的文本文件是中文的,使用java从文件读取出来时显示的是乱码?
  • linux 远程上使用java
  • 数据库 iis7站长之家
  • java:sun公司的联机帮助如何使用?
  • 请教如何使用Java编写的Applet程序关闭浏览器??
  • 怎么使用 JAVA 的包呀???
  • 针对使用java进行硬件编程
  • 使用editplus编写java如何编译成字节码文件,如何解释
  • 谁能告诉我哪里能找到java包内部类及方法使用介绍
  • 使用java时间的调查,谢谢大家
  • Java内存使用分析 HeapAnalyzer
  • Mobicents 的 Java SS7 堆栈和服务 jSS7
  • 输出java进程的jstack信息示例分享 通过线程堆栈信息分析java线程
  • Java编程思想里的泛型实现一个堆栈类 分享
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 如何将GTK中的CallBack函数封装成类似JAVA接口类的使用方法
  • java用静态工厂代替构造函数使用方法和优缺点
  • Java中的this指针使用方法分享
  • Java输入流Scanner/BufferedReader使用方法示例
  • java.exe和javaw.exe的区别及使用方法
  • Java Swing 非常漂亮外观Nimbus的使用方法实例
  • java使用正则表达为数字添加千位符的简单方法
  • java this super使用方法详解
  • java的split方法使用示例
  • 请问Adapter类在整个Java API中的位置是?以及它的作用和使用方法?
  • java system类使用方法示例 获取系统信息
  • 请教:使用java.net中httpURLConnection类模拟post方法?、、全部分数送上!
  • ?请教:十万火急使用java.net中httpURLConnection类模拟post方法?、、全部分数送
  • Java使用JNI方法调用DLL问题
  • 请问在java中有没有在dos下接受键盘输入的方法,如何使用?谢谢
  • java线程之使用Runnable接口创建线程的方法
  • java中"==" 与equals方法的使用
  • Java instanceof 运算符的使用方法
  • C#匿名委托和Java匿名局部内部类使用方法示例
  • Java使用JDBC连接数据库的实现方法
  • java命名空间java.sql类types的类成员方法: java_object定义及介绍
  • 我想学JAVA ,是买THINK IN JAVA 还是JAVA2核心技术:卷1 好???
  • java命名空间java.awt.datatransfer类dataflavor的类成员方法: imageflavor定义及介绍
  • 请问Java高手,Java的优势在那里??,Java主要适合于开发哪类应用程序
  • java命名空间java.lang.management类managementfactory的类成员方法: getcompilationmxbean定义及介绍
  • 如何将java.util.Date转化为java.sql.Date?数据库中Date类型对应于java的哪个Date呢
  • java命名空间java.lang.management接口runtimemxbean的类成员方法: getlibrarypath定义及介绍
  • 谁有电子版的《Java编程思想第二版(Thinking in java second)》和《Java2编程详解(special edition java2)》?得到给分
  • java命名空间java.lang.management接口runtimemxbean的类成员方法: getstarttime定义及介绍
  • 本人想学java,请问java程序员的待遇如何,和java主要有几个比较强的方向
  • java命名空间java.awt.datatransfer类dataflavor的类成员方法: stringflavor定义及介绍


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3