データ構造は、プログラミングを大幅に簡素化するため、プログラミングの世界に恩恵をもたらしてきました。 Javaのスタッククラスはの一部です これにより、プッシュ、ポップなどのさまざまな操作が簡素化されます。この記事では、この概念について詳しく説明します。この記事では、次のポインタについて説明します。
始めましょう。
Javaのスタッククラスとは何ですか?
スタックは データ構造 これはLIFO(後入れ先出し)に続きます。 Javaスタッククラスは、プッシュ、ポップなどの基本的な操作を実行できる基本的なコレクション階層フレームワークに分類されます。Javaコレクションフレームワークには次のものが含まれます インターフェイス そして クラス 。それでは、JavaのスタッククラスがJavaコレクションフレームワーク階層にどのように配置されているかを明確に見てみましょう。
c ++配列をソート
上記の階層では、青いボックスはさまざまなインターフェースと黄色のボックスがクラスを定義します。 Javaのスタックは、さらに実装するベクトルクラスを拡張します リストインターフェース 。スタックを作成するときはいつでも、最初はアイテムが含まれていません。つまり、スタックは空です。
次に、Javaスタッククラスのさまざまなメソッドを見てみましょう。
Javaのスタッククラスのメソッド
Javaには、主にスタッククラスの5つのメソッドがあります。以下は、Javaでスタッククラスを使用するときに自由に使用できるメソッドです。
メソッド | 説明 |
空の() | スタックが空かどうかを確認します |
押す() | スタックの一番上にアイテムを置く |
ポップ () Javaでの型キャストとは | スタックからオブジェクトを削除します |
ピーク() | スタックのオブジェクトを削除せずに確認します |
探す() | スタック内のアイテムを検索して、そのインデックスを取得します |
プログラムの例を使用して、これらの各メソッドを理解しましょう。
package Edureka import java.io. * importjava.util。* public class StackMethods {//スタックの一番上に要素を追加またはプッシュしますstaticvoid push_method(Stack st、int n){st.push(new Integer(n) )System.out.println( 'push(' + n + ')')System.out.println( 'Current Stack:' + st)} //スタックの最上位に要素を表示staticvoid peek_method(Stack&ampampampltInteger&ampampampgt st){整数要素=(整数)st.peek()System.out.println( 'スタックトップの要素:' +要素)} //スタック内の要素を検索しますstaticvoid search_method(Stack st、int element){整数pos =(整数)st.search(element)if(pos == -1)System.out.println( 'Element not found')else System.out.println( 'Element found at position' + pos)} //要素を削除しますスタックの先頭からstaticvoid pop_method(Stack st){System.out.print( 'pop =')Integer n =(Integer)st.pop()System.out.println(n)System.out.println( '残りのスタック:' + st)} public static void main(String args []){Stack st = new Stack()Sys tem.out.println( '空のスタック:' + st)push_method(st、4)push_method(st、8)push_method(st、9)peek_method(st)search_method(st、2)search_method(st、4)pop_method( st)pop_method(st)pop_method(st)try {pop_method(st)} catch(EmptyStackException e){System.out.println( 'empty stack')}}}
出力:
空のスタック:[]
push(4)
現在のスタック:[4]
push(8)
現在のスタック:[4、8]
push(9)
現在のスタック:[4、8、9]
スタックトップの要素:9
要素が見つかりません
要素は位置3にあります
ポップ= 9
残りのスタック:[4、8]
pop = 8
残りのスタック:[4]
pop = 4
残りのスタック:[]
pop =空のスタック
説明: 上記で 、最初に空のスタックを印刷し、Pushメソッドを使用していくつかの要素を追加しました。要素がスタックに存在するようになったら、Peekメソッドを使用してスタックの一番上に要素を表示しました。その後、Searchメソッドを使用して検索を実行し、最後にPopメソッドを使用してJavaStackクラスの要素を削除しました。
Javaスタッククラスを進めて、Javaでスタッククラスを実装するときに実行できるさまざまな操作を見てみましょう。
Javaスタック操作:
スタックのサイズ:
パッケージEdurekaimport java.util.EmptyStackException import java.util.Stack public class StackOperations {public static void main(String [] args){Stack stack = new Stack()stack.push( '1')stack.push( '2 ')stack.push(' 3 ')//スタックが空かどうかを確認しますSystem.out.println(' Javaスタックは空ですか? '+ stack.isEmpty())//スタックSystem.outのサイズを見つけます。 println( 'スタックのサイズ:' + stack.size())}}
出力: Javaスタックは空ですか? false
スタックのサイズ:3
Javaスタックの要素を反復します。
- iterator()を使用してスタックを反復処理します
- Java 8 forEach()を使用してスタックを反復処理します
- listIterator()を使用してスタックを上から下に反復します
iterator()を使用して要素の反復を開始しましょう。
パッケージEdurekaimport java.util.EmptyStackException import java.util.Iterator import java.util.Stack public class StackOperations {public static void main(String [] args){Stack stack = new Stack()stack.push( '1') stack.push( '2')stack.push( '3')Iterator iterator = stack.iterator()while(iterator.hasNext()){Object value = iterator.next()System.out.println(value)} }}
出力:
1
2
3
同様に、他の方法で反復を実行できます。詳細については、以下のコードを参照してください。
パッケージデモimportjava.util.EmptyStackException import java.util.Iterator import java.util.ListIterator import java.util.Stack public class JavaOperators {public static void main(String [] args){Stack stack = new Stack()stack。 push( '1')stack.push( '2')stack.push( '3')System.out.println( 'forEach()メソッドを使用してスタックを反復します:')stack.forEach(n-> {システム。 out.println(n)})ListIterator ListIterator = stack.listIterator(stack.size())System.out.println( 'listIterator()を上から下に使用してスタックを反復処理:')while(ListIterator.hasPrevious() ){String str = ListIterator.previous()System.out.println(str)}}}
出力: forEach()メソッドを使用してスタックを繰り返します。
1
2
3
listIterator()を使用してスタックを上から下に繰り返します。
3
2
1
Javaのデータ構造とは
説明: 上記のコードでは、forEach()メソッドを使用して反復を確認し、listIterator()を使用してスタックの上から下に同じことを逆にすることができます。
これで「Javaのスタッククラス」ブログは終わりです。 Javaコレクションフレームワーク、つまりJavaStackクラスのサンプルコードに沿った階層について理解していただければ幸いです。私の次のブログを読んでくださいオン ここでは、面接プロセスで区別するのに役立つ上位75の面接の質問と回答をリストしました。
Javaコレクションを理解したので、 25万人以上の満足した学習者のネットワークを持つ信頼できるオンライン学習会社であるEdurekaが世界中に広がっています。 EdurekaのJavaJ2EEおよびSOAトレーニングおよび認定コースは、Java開発者になりたい学生および専門家向けに設計されています。このコースは、Javaプログラミングをすぐに開始できるように設計されており、HibernateやSpringなどのさまざまなJavaフレームワークに加えて、コアと高度なJavaの両方の概念についてトレーニングします。
質問がありますか?この「Javaのスタッククラス」ブログのコメントセクションでそれについて言及してください。できるだけ早くご連絡いたします。