首頁 >Java >java教程 >java堆疊類別使用實例(java中stack的使用方法)

java堆疊類別使用實例(java中stack的使用方法)

高洛峰
高洛峰原創
2017-01-24 15:00:091410瀏覽

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

更多java堆疊類別使用實例(java中stack的使用方法)相關文章請關注PHP中文網!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn