ホームページ  >  記事  >  Java  >  Java キュー インターフェイス

Java キュー インターフェイス

PHPz
PHPzオリジナル
2024-08-30 16:04:211136ブラウズ

キュー インターフェイスは、util.java パッケージのメンバーです。これはコレクション フレームワークの一部であり、コレクション インターフェイスを拡張するために使用されます。コレクション インターフェイスがメイン インターフェイスであるため、キュー インターフェイスにはそのすべてのメソッドが含まれます。キューは FIFO (First In First Out) データ構造です。キューは、要素を順序の最後の位置に挿入できる方法で実装されたデータ構造を表します。キューでは、最初にキューに挿入されたアイテムが最初に出力されます。 Java のキューはインターフェイスです。したがって、インスタンス化できません。 Queue インターフェースは主に LinkedList と PriorityQueue の 2 つのクラスで実装されます。これは、Java リストのようなオブジェクトの順序付けられたシーケンスです。

無料ソフトウェア開発コースを始めましょう

Web 開発、プログラミング言語、ソフトウェア テスト、その他

構文

次の構文では、オブジェクト obj は LinkedList / PriorityQueue クラスを使用してインスタンス化されます。以下の 2 つの Queue 構文では、LinkedList の実装が標準のものです。

Queue qObj = new LinkedList();

または

Queue qObj = new PriorityQueue();

制限されたデータ型を持つキュー インスタンスは、次の指定された構文を使用して作成できます。

Queue<String> q = new LinkedList<String>();

キューインターフェイスメソッド

キューインターフェイスの一般的に使用されるメソッドの一部を以下に示します

  • add(): キューに要素を挿入するために使用される add() メソッド。応答が成功した場合は true を返します。それ以外の場合は、例外が生成されます。
  • element(): element() は、キューの先頭要素を返す重要なメソッドの 1 つです。キューが空の場合、例外が生成されます。サンプルセクションでは、element() メソッドがどのように動作するかを確認できます。
  • offer(): このメソッドは、キューに要素を挿入するためにも使用されます。 add() と Offer の唯一の違いは、add メソッドがキューに要素を追加できない場合、例外が作成されるのに対し、offer メソッドは例外を作成しないことです。
  • peek(): Peak() メソッドは、Element() メソッドとほぼ同様です。キューの先頭をチェックします。キューが空の場合は、NULL
  • を返します。
  • poll(): このメソッドは、キューの先頭から要素を削除し、キューから先頭の要素を返します。キューが空の場合は、null を返します。
  • remove(): このメソッドは、キューの先頭要素を削除して返すために使用されます。要素が空であることが判明した場合、例外が作成されます。
  • size(): このメソッドは、キュー内で使用可能な要素の数を返します。

Java キュー インターフェイスの実装例

以下は Java キュー インターフェースの実装例です:

例 #1

この例は、プログラム内でさまざまなメソッドがどのように使用されているか、およびこれらのメソッドが何を返すかを示しています。

  1. キューのインスタンスは LinkedList タイプで作成されます。
  2. さらに、add メソッドを使用して、さまざまな文字列要素がキューに追加されます。
  3. 次のステートメントでは、size() メソッドを使用してキューのサイズが表示されます。
  4. キュー内のアイテム、キューの先頭要素が次の行に表示されます。
  5. Remove メソッドは、キューから要素を削除するためにさらに使用されます。
  6. 次の 2 行には、キュー内の使用可能なアイテム、キューの先頭アイテムがそれぞれ表示されます。

コード:

//importing packages
import java.util.*;
public class QueueInterfaceExample {
public static void main(String[] args){
Queue qObj = new LinkedList();
//adding element to the queue
qObj.add("Action");
qObj.add("speak");
qObj.add("louder");
qObj.add("than");
qObj.add("Words");
//items available in the queue
System.out.println("\nTotal item count in Queue: " + qObj.size());
//printing queue here
System.out.println("\nItems in Queue: " + qObj);
//printing the head element of the queue
System.out.println("\nHead item of the Queue: " + qObj.element());
//removing head element from the queue
qObj.remove();
//items available in the queue
System.out.println("\nAvailable item in Queue: " + qObj);
//items available in the queue after applying peek method
System.out.println("\nHead item of the Queue: " + qObj.peek());
//applying the poll method to the
qObj.poll();
//items available in the queue after applying poll method
System.out.println("\nAvailable item in Queue: " + qObj);
}
}

出力:

Java キュー インターフェイス

例 #2

この例では、制限されたタイプの要素をキューに追加する方法を確認できます。

コード:

//importing package here
import java.util.*;
public class QueueInterfaceExample2 {
public static void main(String[] args){
//initialize a Queue using a LinkedList
Queue<Integer> qObj = new LinkedList<>();
//adding element to the queue
qObj.add(50);
qObj.add(175);
qObj.add(1450);
qObj.add(2750);
qObj.add(10250);
//items available in the queue
System.out.println("\nTotal item count in Queue: " + qObj.size());
//printing queue here
System.out.println("\nItems in Queue: " + qObj);
//items available in the queue after applying poll method
System.out.println("\nAvailable item in Queue: " + qObj);
//declaring a integer variable here
Integer intVar = 1450;
//condition to check if element is available in the queue
if(qObj.contains(intVar)){
//items available in the queue after applying poll method
System.out.println("\nSpecified item is available in the Queue.");
}
//declaring a integer variable here
Integer intVar2 = 1500;
//condition to check if element is available in the queue
if(qObj.contains(intVar2)){
//items available in the queue after applying poll method
System.out.println("\nSpecified item is available in the Queue.");
}else{
//items available in the queue after applying poll method
System.out.println("\nSpecified item " + intVar2 + " is not available in the Queue.");
}
}
}

出力:

Java キュー インターフェイス

例 #3

この例では、Integer 型の制限付きキューに String 型の要素を追加しようとしています。

コード:

importing package here
import java.util.*;
public class QueueInterfaceExample3 {
public static void main(String[] args){
//initialize a Queue using a LinkedList
Queue<Integer> qObj = new LinkedList<>();
//adding element to the queue
qObj.add(50);
qObj.add(175);
qObj.add(1450);
qObj.add(2750);
qObj.add("Happy");
//items available in the queue
System.out.println("\nTotal item count in Queue: " + qObj.size());
//printing queue here
System.out.println("\nItems in Queue: " + qObj);
//items available in the queue after applying poll method
System.out.println("\nAvailable item in Queue: " + qObj);
}
}

出力:

整数型のキューへの文字列型の要素の挿入はサポートされていないため、上記のプログラムの出力ではエラーが発生します。

Java キュー インターフェイス

結論

上記の記事では、キュー インターフェイスについて明確に説明されています。コレクション インターフェイスを拡張するために使用されます。 FIFO がキュー インターフェイスでどのように使用されるかについても説明します。キュー インターフェイスの使用方法については、上のセクションで説明しています。この記事では、キュー & キュー方式がどのように機能するかを確認するために、いくつかの例が示されています。

以上がJava キュー インターフェイスの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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