Java キュー インターフェイス
Java キュー インターフェイス
このチュートリアルでは、Java Queue インターフェイスとそのメソッドについて学びます。
Queue
Java コレクション フレームワークのインターフェイスは、キュー データ構造の機能を提供します。 Collection
を拡張します
キューを実装するクラス
Queue
以降 はインターフェイスであるため、直接実装することはできません。
Queue
の機能を利用するには 、それを実装するクラスを使用する必要があります:
- ArrayDeque
- LinkedList
- PriorityQueue
キューを拡張するインターフェース
Queue
インターフェイスは、さまざまなサブインターフェイスによっても拡張されます:
Deque
BlockingQueue
BlockingDeque
キュー データ構造の働き
キューでは、要素は 先入れ先出し で保存およびアクセスされます 方法。つまり、要素は後ろから追加されます フロントから削除 .
キューの使い方
Java では、java.util.Queue
をインポートする必要があります。 Queue
を使用するためのパッケージ .
// LinkedList implementation of Queue
Queue<String> animal1 = new LinkedList<>();
// Array implementation of Queue
Queue<String> animal2 = new ArrayDeque<>();
// Priority Queue implementation of Queue
Queue<String> animal 3 = new PriorityQueue<>();
ここでは、オブジェクト animal1 を作成しました , animal2 と animal3 クラス LinkedList
の 、 ArrayDeque
と PriorityQueue
それぞれ。これらのオブジェクトは Queue
の機能を使用できます
キューのメソッド
Queue
インターフェイスには Collection
のすべてのメソッドが含まれています インターフェース。 Collection
だからです Queue
のスーパーインターフェースです .
Queue
の一般的に使用されるメソッドの一部 インターフェイスは次のとおりです:
- add() - 指定された要素をキューに挿入します。タスクが成功した場合、
add()
true
を返します 、そうでない場合は例外をスローします。 - オファー() - 指定された要素をキューに挿入します。タスクが成功した場合、
offer()
true
を返します 、そうでない場合はfalse
を返します . - 要素() - キューの先頭を返します。キューが空の場合、例外をスローします。
- peek() - キューの先頭を返します。
null
を返します キューが空の場合 - remove() - キューの先頭を返し、削除します。キューが空の場合、例外をスローします。
- poll() - キューの先頭を返し、削除します。
null
を返します キューが空の場合
キュー インターフェイスの実装
<強い>1. LinkedList クラスの実装
import java.util.Queue;
import java.util.LinkedList;
class Main {
public static void main(String[] args) {
// Creating Queue using the LinkedList class
Queue<Integer> numbers = new LinkedList<>();
// offer elements to the Queue
numbers.offer(1);
numbers.offer(2);
numbers.offer(3);
System.out.println("Queue: " + numbers);
// Access elements of the Queue
int accessedNumber = numbers.peek();
System.out.println("Accessed Element: " + accessedNumber);
// Remove elements from the Queue
int removedNumber = numbers.poll();
System.out.println("Removed Element: " + removedNumber);
System.out.println("Updated Queue: " + numbers);
}
}
出力
Queue: [1, 2, 3] Accessed Element: 1 Removed Element: 1 Updated Queue: [2, 3]
詳細については、Java LinkedList にアクセスしてください。
<強い>2. PriorityQueue クラスの実装
import java.util.Queue;
import java.util.PriorityQueue;
class Main {
public static void main(String[] args) {
// Creating Queue using the PriorityQueue class
Queue<Integer> numbers = new PriorityQueue<>();
// offer elements to the Queue
numbers.offer(5);
numbers.offer(1);
numbers.offer(2);
System.out.println("Queue: " + numbers);
// Access elements of the Queue
int accessedNumber = numbers.peek();
System.out.println("Accessed Element: " + accessedNumber);
// Remove elements from the Queue
int removedNumber = numbers.poll();
System.out.println("Removed Element: " + removedNumber);
System.out.println("Updated Queue: " + numbers);
}
}
出力
Queue: [1, 5, 2] Accessed Element: 1 Removed Element: 1 Updated Queue: [2, 5]
詳細については、Java PriorityQueue にアクセスしてください。
次のチュートリアルでは、Queue
のさまざまなサブインターフェースについて学習します。 インターフェイスとその実装の詳細。
Java