Java 教程

Java 控制語句

面向物件程式設計

Java 內建類

Java 檔案處理

Java 錯誤和異常

Java 多執行緒

Java 同步

Java 網路

Java 集合

Java 介面

Java 資料結構

Java 集合演算法

高階 Java

Java 雜項

Java API 和框架

Java 類引用

Java 有用資源

Java - Stack 類



Stack 是 Vector 的一個子類,它實現了標準的後進先出棧。

Stack 只定義了預設構造方法,它建立一個空棧。Stack 包括 Vector 定義的所有方法,並添加了一些它自己的方法。

Stack( )

除了從其父類 Vector 繼承的方法外,Stack 還定義了以下方法:

序號 方法和描述
1 boolean empty()

此方法測試此棧是否為空。

2 E peek()

此方法檢視此棧頂部的物件,而不將其從棧中移除。

3 E pop()

此方法移除此棧頂部的物件,並將該物件作為此函式的值返回。

4 E push(E item)

此方法將一個專案壓入此棧的頂部。

5 int search(Object o)

此方法返回物件在此棧中的基於 1 的位置。

示例

以下程式說明了此集合支援的幾種方法:

import java.util.*;
public class StackDemo {

   static void showpush(Stack st, int a) {
      st.push(new Integer(a));
      System.out.println("push(" + a + ")");
      System.out.println("stack: " + st);
   }

   static void showpop(Stack st) {
      System.out.print("pop -> ");
      Integer a = (Integer) st.pop();
      System.out.println(a);
      System.out.println("stack: " + st);
   }

   public static void main(String args[]) {
      Stack st = new Stack();
      System.out.println("stack: " + st);
      showpush(st, 42);
      showpush(st, 66);
      showpush(st, 99);
      showpop(st);
      showpop(st);
      showpop(st);
      try {
         showpop(st);
      } catch (EmptyStackException e) {
         System.out.println("empty stack");
      }
   }
}

這將產生以下結果:

輸出

stack: [ ]
push(42)
stack: [42]
push(66)
stack: [42, 66]
push(99)
stack: [42, 66, 99]
pop -> 99
stack: [42, 66]
pop -> 66
stack: [42]
pop -> 42
stack: [ ]
pop -> empty stack
java_data_structures.htm
廣告

© . All rights reserved.