Java 程式設計中的堆疊


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

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

Stack( )

除了從其父類 Vector 繼承的方法外,堆疊還定義了以下方法 −

序號 方法 & 描述
1

boolean empty()

測試此堆疊是否為空。如果堆疊為空,則返回 true,如果堆疊包含元素,則返回 false。

2

Object peek( )

返回堆疊頂部的元素,但不將其移除。

3

Object pop( )

返回堆疊頂部的元素,同時將其移除。

4

Object push(Object element)

將元素壓入堆疊。也會返回元素。

5

int search(Object element)

在堆疊中搜索元素。如果找到,則返回它距堆疊頂部的偏移量。否則,返回 -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

更新時間:2019-07-30

203 次瀏覽

開啟您的職業生涯 事業

完成課程即可獲得認證

開始
廣告
© . All rights reserved.