Latest web development tutorials

JavaのStackクラス

スタックは、標準的なLIFOスタックを実装するベクターのサブクラスです。

スタックは空のスタックを作成するには、デフォルトコンストラクタを定義します。 スタックに加えベクトルで定義されたすべてのメソッドを含んで、また、それらの方法のいくつかを定義します。

Stack()

ベクトルで定義されたすべてのメソッドに加えて、彼はメソッドを定義します。

いいえ。 メソッド説明
1 ブール空()
スタックが空であるかどうかをテストします。
2 オブジェクトPEEK()
オブジェクトのスタックの先頭を参照してくださいが、スタックからは削除されません。
3 オブジェクトポップ()
スタックオブジェクトの上部を取り外し、この関数の値は、オブジェクトを返すように。
4 オブジェクトプッシュ(Object要素)
アイテムはスタックの先頭にプッシュします。
5 int型の検索(Object要素)
ベースとして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