モジュール java.base
パッケージ java.util

クラスStack<E>

すべての実装されたインタフェース:
Serializable, Cloneable, Iterable<E>, Collection<E>, List<E>, RandomAccess

public class Stack<E>
extends Vector<E>
Stackクラスは、オブジェクトの後入れ先出し(LIFO)スタックを表します。 これは、ベクトルをスタックとして処理する5つのオペレーションでVectorクラスを拡張します。 通常のpushオペレーションとpopオペレーションが提供されるほか、スタックの先頭の項目でpeekを行うメソッド、スタックがemptyかどうかを判定するメソッド、スタックから項目をsearchし、先頭から何番目かを見つけるメソッドが提供されています。

スタックが初めて作成されたとき、項目はありません。

より完全で一貫性のある一連のLIFOスタック・オペレーションが、Dequeインタフェースとその実装によって提供されています。このクラスよりもそれらを優先的に使用するようにしてください。 次に例を示します。

   
   Deque<Integer> stack = new ArrayDeque<Integer>();

導入されたバージョン:
1.0
関連項目:
直列化された形式
  • コンストラクタの詳細

    • スタック

      public Stack()
      空のStackを作成します。
  • メソッドの詳細

    • push

      public E push​(E item)
      スタックの先頭にオブジェクトを入れます。 これは、次の内容とまったく同じ効果を持ちます。
       addElement(item)
      パラメータ:
      item - スタックに入れるオブジェクト。
      戻り値:
      item引数。
      関連項目:
      Vector.addElement(E)
    • pop

      public E pop()
      スタックの先頭のオブジェクトを削除し、そのオブジェクトを関数の値として返します
      戻り値:
      スタックの先頭にあるオブジェクト(Vectorオブジェクトの最後の項目)。
      例外:
      EmptyStackException - このスタックが空の場合
    • peek

      public E peek()
      スタックの先頭にあるオブジェクトを取り出します。このときオブジェクトはスタックから削除されません。
      戻り値:
      スタックの先頭にあるオブジェクト(Vectorオブジェクトの最後の項目)。
      例外:
      EmptyStackException - このスタックが空の場合
    • empty

      public boolean empty()
      スタックが空かどうかを判定します。
      戻り値:
      スタックに項目が入っていない場合だけtrue、それ以外の場合はfalse
    • 検索

      public int search​(Object o)
      このスタックにあるオブジェクトの位置を1から始まるインデックスで返します。 オブジェクトoがこのスタック内の項目にある場合、このメソッドはスタックの先頭からもっとも近いオブジェクト位置までの距離を返します。スタックの1番上の項目は距離1にあると見なされます。 equalsメソッドを使用して、oとこのスタック内の項目が比較されます。
      パラメータ:
      o - 目的のオブジェクト。
      戻り値:
      オブジェクト位置を表す、1から始まるスタックの先頭からのインデックス。戻り値-1は、オブジェクトがスタック上にないことを示す。