ホームページ >Java >&#&チュートリアル >Javaのスタッククラス
Stack クラスは java.util パッケージの一部であり、スタック データ構造を実装します。 JavaのスタッククラスはLIFO(Last in First Out)の原理で動作します。 Stack クラスは、基本的なプッシュおよびポップ操作と、空、ピーク、検索などの追加機能を提供します。スタック クラスは、さまざまな操作を実行するためのさまざまなメソッドを提供します。
無料ソフトウェア開発コースを始めましょう
Web 開発、プログラミング言語、ソフトウェア テスト、その他
構文:
Java でのスタック クラスの使用方法の基本的な構文は次のとおりです。
import java.util.*; // instantiate stack through default constructor Public class Myclass{ // instantiate stack class Stack stack = new Stack(); stack.push(1); // calling push method to insert an element }
Stack クラスは java.util パッケージの一部であり、Vector クラスを拡張して List インターフェースを実装します。 Java では Vector クラスのサイズを変更できます。つまり、新しい要素を追加するとサイズが大きくなり、要素を削除するとサイズが小さくなります。 stack クラスは Vector を拡張するため、本質的にサイズ変更も可能です。スタック クラスを使用するには、コンストラクターを通じてスタック クラスのインスタンスを作成する必要があります。スタック クラスはサイズ変更可能なため、スタック クラスで使用できるデフォルトのコンストラクターは 1 つだけです。
インスタンスを取得した後、要件に応じて次のメソッドを呼び出すことができます:
例の一部を以下に示します。
次に、上記のメソッドがスタック内でどのように使用されるかを示す Java コード例を見ていきます。
コード:
//import stack class import java.util.Stack; public class StackDemo { public static void main(String[] args) { // Creating Instance of Stack Stack<String> numbers = new Stack<>(); // stack of type string only string type elements can be inserted // Pushing new elements to the Stack numbers.push("One"); numbers.push("Two"); numbers.push("Three"); numbers.push("Four"); int size= numbers.size(); // finding size of stack System.out.println("Stack contains => " + numbers); System.out.println("Size of Stack is => " + size); System.out.println(); // Popping Elements from the Stack String numbersAtTop = numbers.pop(); // Throws EmptyStackException if the stack is empty System.out.println("Element Removed => " + numbersAtTop); System.out.println("Current State of Stack => " + numbers); size= numbers.size(); System.out.println("Size of Stack is => " + size); System.out.println(); // Get the element at the top of the stack without removing it numbersAtTop = numbers.peek(); System.out.println("Top Most elemement of stack => " + numbersAtTop); System.out.println("Current State of Stack => " + numbers); // searching for an element in stack int index = numbers.search("Two"); System.out.println("Element found at Index " + index); // check if the stack is empty boolean isempty = numbers.empty(); System.out.println("Is Stack Empty => " + isempty); }}
上記のプログラムは、プッシュ、ポップ、ピーク、検索、空などのさまざまな操作をスタック クラスでどのように実行できるかを示しています。
次に、スタック クラスの要素を反復処理する方法を見ていきます。
コード:
//import stack class import java.util.Stack; //import stream to iterate over stack import java.util.stream.Stream; public class StackDemo { public static void main(String[] args) { // Creating Instance of Stack Stack<String> numbers = new Stack<>(); // stack of type string only string type elements can be inserted // Pushing new elements to the Stack numbers.push("First"); numbers.push("Second"); numbers.push("Third"); numbers.push("Fourth"); System.out.println("Stack contains => " + numbers); System.out.println(); // getting stream object to iterate over elements of stack Stream stream = numbers.stream(); System.out.println("Iterating stack using stream >> "); stream.forEach((item) -> { System.out.println(item); // print item }); } }
上記のプログラムは、スタックの要素を反復処理する方法を示しています。スタック インスタンスで stream() メソッドを呼び出す必要があります。これにより、Stream オブジェクトが返されます。次に、ストリーム クラスの forEach メソッドを使用してスタックを反復処理します。
この記事では、スタック クラスについて見てきました。また、スタック クラスをインスタンス化し、スタック クラスで利用可能なさまざまなメソッドを使用する方法についても説明しました。 Stack クラスを使用して実行できるさまざまな操作を観察してきました。上記の Java コード例は、スタック クラスについて完全に明確に示しています。
以上がJavaのスタッククラスの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。