Java で Deque 関数を使用して deque 操作を行う方法

PHPz
リリース: 2023-06-26 16:20:45
オリジナル
2443 人が閲覧しました

両端キュー (Deque) は、キューとスタックの特性を持つ比較的複雑なデータ構造です。キューとスタックのすべての操作をサポートし、キューの先頭と末尾の要素を追加または削除できます。 Java では、Deque はインターフェイスであり、ArrayDeque と LinkedList という 2 つの実装クラスがあります。

この記事では、Java で Deque 関数を使用して、Deque の作成、要素の追加、要素の削除、先頭と末尾の操作などの両端キュー操作を実行する方法を紹介します。

1. Deque の作成

Java で Deque オブジェクトを作成するには、ArrayDeque または LinkedList 実装クラスを使用できます。要素数がわかっていてパフォーマンス要件が高い場合は ArrayDeque を使用するのが適しており、要素数が不明な場合や途中で要素を頻繁に挿入または削除する必要がある場合は LinkedList を使用する方が適しています。

以下は、deque という名前の Deque オブジェクトを作成するコードです:

Deque<String> deque = new ArrayDeque<String>(); // 使用ArrayDeque实现类创建
Deque<Integer> deque = new LinkedList<Integer>(); // 使用LinkedList实现类创建
ログイン後にコピー

2. 要素の追加

要素の追加は、両端キューの基本操作の 1 つです。 。 Deque では、要素をキューの先頭または末尾に追加できます。追加するには、それぞれ addFirst() メソッドと addLast() メソッドを使用します。

addFirst() を使用して要素を追加します:

deque.addFirst("element");
ログイン後にコピー

addLast() を使用して要素を追加します:

deque.addLast("element");
ログイン後にコピー

追加プロセス中に両端のキューがいっぱいになった場合は、addFirst () がスローされます。 IllegalStateException が発生します。

3. 要素の削除

要素の削除も、両端キューの基本操作の 1 つです。 Deque では、キューの先頭または末尾から要素を削除することもできます。削除するには、それぞれremoveFirst()メソッドとremoveLast()メソッドを使用します。

removeFirst() を使用して要素を削除します:

String element = deque.removeFirst();
ログイン後にコピー

removeLast() を使用して要素を削除します:

String element = deque.removeLast();
ログイン後にコピー

キューが空の場合、上記のメソッドを呼び出すと NoSuchElementException がスローされます。例外。

4. 要素の決定

Deque に特定の要素が含まれているかどうか、または最初と最後の要素が何であるかを決定する必要がある場合があります。このとき、element()、peek() などのメソッドを使用できます。

element() を使用してチームの最初の要素を取得します:

String firstElement = deque.element(); // 队首元素
ログイン後にコピー

peek() を使用してチームの最初の要素を取得します:

String firstElement = deque.peek(); // 队首元素
ログイン後にコピー

キューが空の場合、上記のメソッドを呼び出すと異常な NoSuchElementException がスローされます。

peekFirst() を使用してチームの最初の要素を取得します:

String firstElement = deque.peekFirst(); // 队首元素
ログイン後にコピー

peakLast() を使用してチームの最後の要素を取得します:

String lastElement = deque.peekLast(); // 队尾元素
ログイン後にコピー

5. 要素の走査

トラバーサル中 Deque の要素については、Iterator、foreach、またはラムダ式を使用してトラバーサル操作を実行できます。

イテレータを使用したトラバース:

Iterator<String> iterator = deque.iterator(); // 获取Iterator对象
while (iterator.hasNext()) { // 依次输出元素
    System.out.println(iterator.next());
}
ログイン後にコピー

foreach を使用したトラバース:

for (String element : deque) { // 依次输出元素
    System.out.println(element);
}
ログイン後にコピー

ラムダ式を使用したトラバース:

deque.forEach(element -> System.out.println(element)); // 依次输出元素
ログイン後にコピー

要約

Deque はJava の両端キューのインターフェースは、キューとスタックのすべての操作を提供し、キューの先頭で要素を追加または削除したり、キューの最後尾で要素を追加または削除したりすることができます。 Java では、Deque には ArrayDeque と LinkedList という 2 つの実装クラスがあり、さまざまなシナリオで使用されます。

この記事では、Java で Deque 関数を使用して、Deque の作成、要素の追加、要素の削除、先頭と末尾の操作、要素の走査などの両端キュー操作を実行する方法を紹介します。 Java 初心者へのサポートを提供することに特化しており、このサイトにはさらに多くの記事があります。

以上がJava で Deque 関数を使用して deque 操作を行う方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート