は強力なプログラミング言語であり、さまざまなデータ構造をサポートして、プログラマーの生活を楽にします。この記事では、そのようなデータ構造の1つであるJavaキューについて見ていきます。これらは、この記事が焦点を当てている指針です。
それでは始めましょう、
Javaのキュー
キューは、FIFO(First-In-First-Out)の原則に従うデータ構造です。つまり、要素はリストの最後に挿入され、リストの最初から削除されます。このインターフェースはjava.util.packageで利用可能であり、コレクションインターフェースを拡張します。
キューは、挿入や削除など、複数の方法をサポートしています。 java.util.packageで使用可能なキューは、次のように知られています。 無制限のキュー 、java.util.concurrentパッケージに存在するキューは既知ですが、 制限付きキュー。
Dequesを除くすべてのキューは、最後の挿入と前からの削除をサポートします。 Dequesは、両端の要素の挿入と削除をサポートします。
Javaキューに関するこの記事の次のトピックに移りましょう。
Javaキューの実装
キューインターフェイスを使用するには、具象クラスをインスタンス化する必要があります。以下は、使用できるいくつかの実装です。
- util.LinkedList
- util.PriorityQueue
これらの実装はスレッドセーフではないため、PriorityBlockingQueueはスレッドセーフ実装の代替として機能します。
例:
キューq1 = new LinkedList()
キューq2 = new PriorityQueue()
いくつかの重要なJavaキューメソッドを見てみましょう。
Javaキューのメソッド
- 追加(): add()メソッドは、キューの最後または最後に要素を挿入するために使用されます。このメソッドは、コレクションインターフェイスから継承されます。
- 提供(): 容量制限に違反することなく指定された要素をキューに挿入するため、offer()メソッドはadd()メソッドよりも適しています。
- ピーク(): peek()メソッドは、キューを削除せずにキューの先頭を確認するために使用されます。キューが空の場合、null値を返します。
- 素子(): キューが空の場合、メソッドはNoSuchElementExceptionをスローします。
- 削除する(): remove()メソッドは、キューの先頭を削除して返します。キューが空の場合、NoSuchElementExceptionをスローします。
- poll(): poll()メソッドは、キューの先頭を削除して返します。キューが空の場合、null値を返します。
以下の方法の概要を以下に示します。
操作 | 例外をスローします | 戻り値 |
インサート | add(element) | オファー(要素) |
削除する | 削除する() | poll() |
診る Linuxでクラスパスを設定する | 素子() | ピーク() |
今すぐデモを見てみましょう、
キューメソッドをデモンストレーションするプログラム
importjava.util。* public class Main {public static void main(String [] args){//キューはインターフェイスであるため、キューのインスタンスを作成できません。したがって、キューq1 = new LinkedList()//要素を追加します。キューq1.add( 'I')q1.add( 'Love')q1.add( 'Rock')q1.add( 'And')q1.add( 'Roll')System.out.println( 'Elements in Queue: '+ q1)/ * * remove()メソッドを使用してキューから要素を削除できます。*これにより、キューから最初の要素が削除されます* / System.out.println(' Removed element: '+ q1.remove( ))/ * * element()メソッド-これは* Queueの先頭を返します。 * / System.out.println( 'Head:' + q1.element())/ * * poll()メソッド-これにより、キューの* headが削除されて返されます。キューが空の場合はnullを返します* / System.out.println( 'poll():' + q1.poll())/ * * peek()メソッド-element()メソッドと同じように機能しますが、*ただし、キューが空の場合はnull * / System.out.println( 'peek():' + q1.peek())//キューの要素を表示するSystem.out.println( 'キュー内の要素:' + q1)} }
出力:
キュー内の要素:[I、Love、Rock、And、Roll]
削除された要素:I
頭:愛
poll():愛
peek():ロック
キュー内の要素:[ロック、アンド、ロール]。上記の例では、GenericQueueが使用されています。
このタイプのキューでは、キューに挿入されるオブジェクトのタイプを制限できます。この例では、文字列インスタンスのみをキューに挿入できます。
Javaキューを反復処理する
Javaキュー内の要素は、次のコードを使用して繰り返すことができます。
キューq1 = new LinkedList()
q1.add(“ Rock”)
q1.add(“ And”)
q1.add(“ Roll”)
//イテレータ経由でアクセス
イテレータイテレータ= q1.iterator()
while(iterator.hasNext(){
文字列要素=(文字列)iterator.next()
}
//新しいforループを介したアクセス
for(オブジェクトオブジェクト:q1){
文字列要素=(文字列)オブジェクト
}
要素が繰り返される順序は、キューの実装によって異なります。
Javaキューで実装できるメソッドは複数ありますが、ここでは最も重要なメソッドについて説明しました。
ビッグデータとHadoopの違い
これで、「Javaキュー」に関するこの記事は終わりです。詳細を知りたい場合は、チェックアウト 信頼できるオンライン学習会社であるEdurekaによる。 EdurekaのJavaJ2EEおよびSOAトレーニングおよび認定コースは、Hibernate&SpringなどのさまざまなJavaフレームワークに加えて、コアJavaコンセプトと高度なJavaコンセプトの両方についてトレーニングするように設計されています。
質問がありますか?このブログのコメントセクションでそれについて言及してください。できるだけ早くご連絡いたします。