java堆棧類使用執行個體(java中stack的使用方法)_java

來源:互聯網
上載者:User

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

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.