Okapi Project

Stack クラス(すたっく)

バージョン
2003 年 06 月 30 日 Ver.1.1
作成者
H.Izumi ( Xware )

目的

配列に入れた要素を逆に取り出したい!

Stack クラスってなに?

後入れ先出し方式で行う配列です。

Stack クラスの説明

Stackr クラスの主なメソッドの一部の例です。

boolean empty ()
このスタックが空の場合は true を返します。
Object peek ()
このスタックの先頭にあるオブジェクトを取得します。(削除しない)
Object pop ()
このスタックの先頭にあるオブジェクトを削除し、そのオブジェクトを返します。
Object push (Object item)
このスタックの先頭に要素を追加します。
int search (Object o)
このスタック内でのオブジェクトの位置を取得します。

Stack クラスの使い方

push メソッド、pop メソッドを使った簡単なプログラムの例です。

import java.util.*;
public class StackTest {

    public static void main(String[] args) {

        //スタックを作成します。
        Stack stack = new Stack();

        //push メソッドを使って要素を追加していきます。
        stack.push("0");
        stack.push("1");
        stack.push("2");
        stack.push("3");
        stack.push("4");

        //pop メソッドを使って要素を返します。
        System.out.println(stack.pop());
        System.out.println(stack.pop());
        System.out.println(stack.pop());
        System.out.println(stack.pop());
        System.out.println(stack.pop());
    }
}

プログラムの実行例です。

4
3
2
1
0
スタック に要素を追加するときは push メソッドを使い、それを取り出していくときは pop メソッドを使います。要素を取り出していくと、追加したときと逆の順序で取り出されていくので注意が必要です。

ポイント

ヒント

Stack クラスは、AbstractList クラスを継承しているので下のように Iterator が利用できます。

    AbstractList list = new Stack();
    list.add("ABC");
    list.add("BCD");
    list.add("CDE");

    Iterator iter = list.iterator();

    while(iter.hasNext()){
        System.out.println(iter.next());
    }

処理結果は次のようになり、追加したときの順序で取り出すことになります。

ABC
BCD
CDE

関連


Copyright © 2003 - 2006 Okapi Project All Rights Reserved.