Java Deque インターフェイス
Java Deque インターフェイス
このチュートリアルでは、Deque インターフェイス、その使用方法、およびそのメソッドについて学習します。
Deque
Java コレクション フレームワークのインターフェイスは、両端キューの機能を提供します。 Queue
を拡張します
Deque の働き
通常のキューでは、要素は後ろから追加され、前から削除されます。ただし、deque では、前部と後部の両方から要素を挿入および削除できます。 .
Deque を実装するクラス
Deque
の機能を使用するには インターフェイス、それを実装するクラスを使用する必要があります:
- ArrayDeque
- LinkedList
Deque の使用方法
Java では、java.util.Deque
をインポートする必要があります。 Deque
を使用するパッケージ .
// Array implementation of Deque
Deque<String> animal1 = new ArrayDeque<>();
// LinkedList implementation of Deque
Deque<String> animal2 = new LinkedList<>();
ここでは、オブジェクト animal1 を作成しました と animal2 クラス ArrayDeque の と LinkedList 、 それぞれ。これらのオブジェクトは Deque
の機能を使用できます
Deque のメソッド
Deque
以降 Queue
を拡張します インターフェースであり、Queue インターフェースのすべてのメソッドを継承します。
Queue
で利用可能なメソッド以外に インターフェイス、Deque
インターフェイスには、次のメソッドも含まれます:
- addFirst() - 指定された要素を両端キューの先頭に追加します。両端キューがいっぱいの場合、例外をスローします。
- addLast() - 指定された要素を両端キューの最後に追加します。両端キューがいっぱいの場合、例外をスローします。
- offerFirst() - 指定された要素を両端キューの先頭に追加します。
false
を返します 両端キューがいっぱいの場合 - offerLast() - 指定された要素を両端キューの最後に追加します。
false
を返します 両端キューがいっぱいの場合 - getFirst() -両端キューの最初の要素を返します。両端キューが空の場合、例外をスローします。
- getLast() -両端キューの最後の要素を返します。両端キューが空の場合、例外をスローします。
- peekFirst() -両端キューの最初の要素を返します。
null
を返します 両端キューが空の場合 - peekLast() -両端キューの最後の要素を返します。
null
を返します 両端キューが空の場合 - removeFirst() - 両端キューの最初の要素を返し、削除します。両端キューが空の場合、例外をスローします。
- removeLast() -両端キューの最後の要素を返し、削除します。両端キューが空の場合、例外をスローします。
- pollFirst() - 両端キューの最初の要素を返し、削除します。
null
を返します 両端キューが空の場合 - pollLast() -両端キューの最後の要素を返し、削除します。
null
を返します 両端キューが空の場合
スタック データ構造としてデキュー
Stack
Java Collections
のクラス フレームワークは、スタックの実装を提供します。
ただし、Deque
を使用することをお勧めします Stack クラスの代わりにスタックとして。 Stack
のメソッドだからです 同期されています。
Deque
のメソッドは次のとおりです。 インターフェイスは、スタックを実装するために提供します:
push()
- deque の先頭に要素を追加しますpop()
- deque の先頭から要素を削除しますpeek()
- deque の先頭から要素を返します
ArrayDeque クラスでの Deque の実装
import java.util.Deque;
import java.util.ArrayDeque;
class Main {
public static void main(String[] args) {
// Creating Deque using the ArrayDeque class
Deque<Integer> numbers = new ArrayDeque<>();
// add elements to the Deque
numbers.offer(1);
numbers.offerLast(2);
numbers.offerFirst(3);
System.out.println("Deque: " + numbers);
// Access elements of the Deque
int firstElement = numbers.peekFirst();
System.out.println("First Element: " + firstElement);
int lastElement = numbers.peekLast();
System.out.println("Last Element: " + lastElement);
// Remove elements from the Deque
int removedNumber1 = numbers.pollFirst();
System.out.println("Removed First Element: " + removedNumber1);
int removedNumber2 = numbers.pollLast();
System.out.println("Removed Last Element: " + removedNumber2);
System.out.println("Updated Deque: " + numbers);
}
}
出力
Deque: [3, 1, 2] First Element: 3 Last Element: 2 Removed First Element: 3 Removed Last Element: 2 Updated Deque: [1]
詳細については、Java ArrayDeque にアクセスしてください。
Java