ホームページ >Java >&#&チュートリアル >Javaスタッククラスの使用例(Javaでのスタックの使い方)

Javaスタッククラスの使用例(Javaでのスタックの使い方)

高洛峰
高洛峰オリジナル
2017-01-24 15:00:091433ブラウズ

JAVA では、java.util.Stack クラスのコンストラクター メソッドを使用してオブジェクトを作成します。

public class Stack は Vector を拡張します

Constructor: public Stack() は空のスタックを作成します。

方法: 1. パブリックプッシュ (アイテム) アイテムをスタックの一番上にプッシュします。効果はaddElement(item)と同じです。

パラメータ項目は、スタックの一番上にプッシュされる項目です。 戻り値: item パラメーター;

2. public Pop () はスタックの一番上にあるオブジェクトを削除し、そのオブジェクトを関数の値として返します。

戻り値: スタックの最上位オブジェクト (Vector オブジェクトの最後の項目)。

スタックが空の場合は例外: EmptyStackException をスローします。 。 。

3. public Peak() スタックの一番上にあるオブジェクトを削除せずに表示します。 。

戻り値: スタックの最上位オブジェクト (Vector オブジェクトの最後の項目)。

スタックが空の場合は例外: EmptyStackException をスローします。 。 。

4. public boolean empty (スタックが空かどうかをテストします。) スタックに項目が含まれていない場合にのみ true を返し、それ以外の場合は false を返します。

5. public int search (オブジェクト o) の位置を返します。スタック内のオブジェクト。ベースは 1 です。オブジェクト o がスタック内の項目の場合、このメソッドは最も近い出現位置からスタックの先頭までの距離を返します。スタック内の先頭の項目の距離は 1 です。 o をスタック上の項目と比較するには、equals メソッドを使用します。 。 。

パラメータ: o ターゲット オブジェクト;

/** 
 * @author yuanLi
 */
package thinkingJava;
import java.util.*;

import com.sun.org.apache.bcel.internal.generic.NEW;
/** 
 * 
 */
public class StackTest {

    /**
     * @param args
     */
    public static void main(String[] args) {
        Stack stack = new Stack(); // 创建堆栈对象 
        System.out.println("11111, absdder, 29999.3 三个元素入栈"); 
        stack.push(new Integer(11111)); //向 栈中 压入整数 11111
        printStack(stack);  //显示栈中的所有元素

        stack.push("absdder"); //向 栈中 压入
        printStack(stack);  //显示栈中的所有元素

        stack.push(new Double(29999.3)); //向 栈中 压入
        printStack(stack);  //显示栈中的所有元素

        String s = new String("absdder");
        System.out.println("元素absdder在堆栈的位置"+stack.search(s));      
        System.out.println("元素11111在堆栈的位置"+stack.search(11111));

        System.out.println("11111, absdder, 29999.3 三个元素出栈"); //弹出 栈顶元素 
        System.out.println("元素"+stack.pop()+"出栈");
        printStack(stack);  //显示栈中的所有元素
        System.out.println("元素"+stack.pop()+"出栈");
        printStack(stack);  //显示栈中的所有元素
        System.out.println("元素"+stack.pop()+"出栈");
        printStack(stack);  //显示栈中的所有元素

 
    }

    private static void printStack(Stack<Integer> stack ){
        if (stack.empty())
            System.out.println("堆栈是空的,没有元素");
            else {
                System.out.print("堆栈中的元素:");
                Enumeration items = stack.elements(); // 得到 stack 中的枚举对象 
                while (items.hasMoreElements()) //显示枚举(stack ) 中的所有元素
                    System.out.print(items.nextElement()+" ");
            }
        System.out.println(); //换行
    }
}

Java スタック クラスの使用例 (Java でスタックを使用する方法) 関連記事については、PHP 中国語 Web サイトに注目してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。