当前位置: 移动技术网 > IT编程>开发语言>Java > java堆栈类使用实例(java中stack的使用方法)

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

2019年07月22日  | 移动技术网IT编程  | 我要评论

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<integer> 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(); //换行
    }
}

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网