English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
このチュートリアルでは、Java Queueインターフェースおよびそのメソッドを学びます。
JavaコレクションフレームワークのQueueインターフェースは、クエueueデータ構造の機能を提供します。それはCollectionインターフェースを継承しています。
Queueはインターフェースであるため、その直接の実装を提供することができません。
Queueの機能を使用するために、その実装クラスを使用する必要があります:
Queueインターフェースは、さまざまなサブインターフェースに継承されることができます:
Deque
BlockingQueue
BlockingDeque
クエueueの中で、先入先出この方法で要素を保存およびアクセスします。つまり、要素を後ろから追加し、前から要素を削除します。
Javaでは、Queueを使用するにはjava.util.Queueパッケージをインポートする必要があります。
// LinkedListを使用して作成 Queue<String> animal1 = new LinkedList<>(); // ArrayDequeを使用して作成 Queue<String> animal2 = new ArrayDeque<>(); // PriorityQueueを使用して作成 Queue<String> animal 3 = new PriorityQueue<>();
ここでは、LinkedList、ArrayDeque、PriorityQueueのクラスAnimalのオブジェクトをそれぞれ作成します。1、Animal2とAnimal3.これらのオブジェクトはQueueインターフェースの機能を使用できます。
QueueインターフェースはCollectionインターフェースのすべてのメソッドを含んでいます。これはCollectionがQueueのスーパーアンケストラクチャであるためです。
Queueインターフェースの一部の常用メソッドは:
add() - 指定された要素を挿入します。タスクが成功した場合、add()はtrueを返し、それ以外の場合は例外を発生させます。
offer() - 指定された要素を挿入します。タスクが成功した場合、offer()はtrueを返し、それ以外の場合はfalseを返します。
element() - 先頭を返します。キューが空の場合は例外を発生させます。
peek() - 先頭を返します。キューが空の場合はnullを返します。
remove() - 先頭を返し、削除します。キューが空の場合は例外を発生させます。
poll() - 先頭を返し、削除します。キューが空の場合はnullを返します。
1.LinkedListクラスを実現
import java.util.Queue; import java.util.LinkedList; class Main { public static void main(String[] args) { // LinkedListクラスを使用してQueueを作成 Queue<Integer> numbers = new LinkedList<>(); //要素をQueueに追加 numbers.offer(1); numbers.offer(2); numbers.offer(3); System.out.println("Queue: " + numbers); // Queueの要素にアクセス int accessedNumber = numbers.peek(); System.out.println("要素のアクセス: " + accessedNumber); //Queueの要素から int removedNumber = numbers.poll(); System.out.println("要素の削除: " + removedNumber); System.out.println("更新後の Queue: " + numbers); } }
出力結果
Queue: [1, 2, 3] 要素へのアクセス: 1 要素の削除: 1 更新後の Queue: [2, 3]
さらに詳しい情報は、以下のサイトにアクセスしてくださいJava LinkedList。
2.PriorityQueueクラスを実現
import java.util.Queue; import java.util.PriorityQueue; class Main { public static void main(String[] args) { // PriorityQueueクラスを使用してキューを作成 Queue<Integer> numbers = new PriorityQueue<>(); //要素をQueueに追加 numbers.offer(5); numbers.offer(1); numbers.offer(2); System.out.println("Queue: " + numbers); //Queueの要素にアクセスする int accessedNumber = numbers.peek(); System.out.println("要素のアクセス: " + accessedNumber); //Queueから要素を削除する int removedNumber = numbers.poll(); System.out.println("要素の削除: " + removedNumber); System.out.println("更新後の Queue: " + numbers); } }
出力結果
Queue: [1, 5, 2] 要素のアクセス: 1 要素の削除: 1 更新後の Queue: [2, 5]
さらに詳しい情報は、以下のサイトにアクセスしてくださいJava PriorityQueue。
次のチュートリアルでは、この Queue インターフェースの異なるサブインターフェースとその実装について詳しく説明します。