Javaでスタックをトラバースする方法


  1. スタックをトラバースする方法: スタックをトラバースするには、以下のいくつかの方法があります。

方法1: スタックをポップしながらトラバースする方法 スタックの要素をすべて取り出しながらトラバースする方法です。pop() メソッドを使用してスタックから要素を取り出し、取り出した要素を処理します。スタックが空になるまで繰り返します。

Stack<Integer> stack = new Stack<>();
// スタックに要素を追加するコード
while (!stack.empty()) {
    int element = stack.pop();
    // 要素を処理するコード
}

方法2: スタックをイテレータでトラバースする方法 Stack クラスは Iterable インターフェースを実装しており、イテレータを使用してスタックをトラバースすることもできます。

Stack<Integer> stack = new Stack<>();
// スタックに要素を追加するコード
Iterator<Integer> iterator = stack.iterator();
while (iterator.hasNext()) {
    int element = iterator.next();
    // 要素を処理するコード
}
  1. コード例: 以下に、スタックをトラバースするための完全なコード例を示します。
import java.util.Stack;
public class StackTraversalExample {
    public static void main(String[] args) {
        Stack<Integer> stack = new Stack<>();
        stack.push(1);
        stack.push(2);
        stack.push(3);
        stack.push(4);
        stack.push(5);
        // スタックをポップしながらトラバースする方法
        System.out.println("メソッド1: スタックをポップしながらトラバース");
        while (!stack.empty()) {
            int element = stack.pop();
            System.out.println("要素: " + element);
        }
// スタックをイテレータでトラバースする方法
        System.out.println("メソッド2: スタックをイテレータでトラバース");
        stack.push(1);
        stack.push(2);
        stack.push(3);
        stack.push(4);
        stack.push(5);
        Iterator<Integer> iterator = stack.iterator();
        while (iterator.hasNext()) {
            int element = iterator.next();
            System.out.println("要素: " + element);
        }
    }
}

以上が、Javaでスタックをトラバースする方法とコード例です。これらの方法を使って、スタック内の要素を順番に処理することができます。