検索
ホームページJava&#&チュートリアルArrayDeque 関数を使用して Java で配列のデキュー操作を実行する方法

Java では、ArrayDeque は両端キューの実装であり、配列に対して両端キュー操作を実行するために使用できます。この記事では、Java で ArrayDeque 関数を使用して deque 操作を実行する方法を紹介します。

  1. ArrayDeque 関数の紹介

ArrayDeque は Java で両端キューを実装する方法で、キューの先頭と末尾の両方でキューに出入りできます。キューを操作します。特定の実装では、ArrayDeque は動的配列の形式をとり、必要に応じて自動的に拡張および縮小できます。 ArrayDeque は AbstractCollection を継承し、Deque インターフェイスを実装します。

  1. ArrayDeque の作成

Java では、ArrayDeque クラスを使用して両端キューを作成できます。 ArrayDeque の作成方法は次のとおりです。

Deque<Integer> deque = new ArrayDeque<Integer>();

上記のコードは、整数型の両端キューを定義しており、これを使用して両端キュー操作を実行できます。

  1. ダブルエンドキューの基本操作

3.1 エンキュー操作

ArrayDeque では、addFirst() 関数を使用して要素をキューに挿入できます。キューの先頭にある場合は、以下に示すように、addLast() 関数を使用してキューの最後に要素を挿入します。

deque.addFirst(1);
deque.addLast(2);

上記のコードは、両端のキューに 2 つの要素 1 と 2 を追加します。それぞれキューの先頭と最後尾に。

3.2 デキュー操作

ArrayDeque では、pollFirst() 関数を使用してキューの先頭から要素を取り出し、pollLast() 関数を使用してキューの先頭から要素を取り出すことができます。

int element1 = deque.pollFirst();
int element2 = deque.pollLast();

上記のコードは、両端キューから 2 つの要素を取り出し、キューの先頭の要素 1 とキューの末尾の要素 2 を取り出します。

3.3 キューの先頭と末尾の要素を取得する

ArrayDeque では、getFirst() 関数を使用して先頭要素を取得し、getLast() 関数を使用して末尾要素を取得できます。以下に示すように、要素を取得します。

int headElement = deque.getFirst();
int tailElement = deque.getLast();

上記のコードは、両端キューの先頭要素と末尾要素を取得します。

  1. 両端キューのトラバース

以下に示すように、Java のイテレータを使用して両端キュー内の要素をトラバースすることもできます。

Iterator<Integer> iterator = deque.iterator();
while (iterator.hasNext()) {
   int element = iterator.next();
   System.out.println(element);
}

上記のコード反復子を使用して両端キュー内のすべての要素を走査し、それらを 1 つずつ出力します。

  1. 概要

上記の紹介により、Java で ArrayDeque 関数を使用して、配列の両端キュー操作を実行できます。 addFirst() 関数と addLast() 関数を使用して両端キューに要素を追加し、pollFirst() 関数とpollLast() 関数を使用してキューの先頭と末尾から要素を削除し、getFirst() と getLast( ) は、反復子を使用して両端キュー内の要素を走査し、キューの先頭と末尾の要素を取得する関数です。これらの操作により、両端キューの機能を簡単に実装することができます。

以上がArrayDeque 関数を使用して Java で配列のデキュー操作を実行する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
mybatisで@resulttypeアノテーションを正しく使用する方法は?mybatisで@resulttypeアノテーションを正しく使用する方法は?Apr 19, 2025 pm 04:12 PM

MyBatisフレームワークを研究するとき、開発者はしばしば注釈に関するさまざまな問題に遭遇します。よくある質問の1つは、@resulttypeアノテーションを正しく使用する方法です...

自然言語処理技術を使用して人事データを効率的に照会する方法は?自然言語処理技術を使用して人事データを効率的に照会する方法は?Apr 19, 2025 pm 04:09 PM

自然言語処理技術を使用して人事データを最新の企業に照会する方法は、人事データの管理とQueryが一般的な要件です。私たちが...

Springboot Multi-Dataソース構成の下で、データベースアクセスが昼間、夜間に速い理由は何ですか?Springboot Multi-Dataソース構成の下で、データベースアクセスが昼間、夜間に速い理由は何ですか?Apr 19, 2025 pm 04:06 PM

Springboot Projectのデータベースアクセスパフォーマンスの問題マルチデータソース構成この記事は、Springboot ProjectでMulti-Dataソース構成にAtomikosを使用することを目指しています...

noclassdeffounderrorは、JavaプロジェクトがJARにパッケージ化された後に登場します。JDKバージョンの互換性の問題をトラブルシューティングする方法は?noclassdeffounderrorは、JavaプロジェクトがJARにパッケージ化された後に登場します。JDKバージョンの互換性の問題をトラブルシューティングする方法は?Apr 19, 2025 pm 04:03 PM

Javaプロジェクトを実行可能なJARファイルにパッケージ化すると、noclassdeffounderrorの問題に遭遇します。多くのJava開発者は...

Intellijのアイデアのひび割れプロセスを分析し、登録に責任を負うLIBまたはクラスを見つける方法は?Intellijのアイデアのひび割れプロセスを分析し、登録に責任を負うLIBまたはクラスを見つける方法は?Apr 19, 2025 pm 04:00 PM

プログラミングの世界でのIntellijideaのクラッキングの分析方法に関して、Intellij ...

JavaとJavacvを使用してビデオ品質を改善する方法は?効果が限られているのはなぜですか?JavaとJavacvを使用してビデオ品質を改善する方法は?効果が限られているのはなぜですか?Apr 19, 2025 pm 03:57 PM

問題の紹介:改善されたビデオ品質は、特に低解像度ビデオの処理、Java言語の使用方法など、ビデオ処理の重要な部分です。

Springbootで@RequestBodyアノテーションを取得して、非JSON形式で文字列パラメーターを正しく受信するにはどうすればよいですか?Springbootで@RequestBodyアノテーションを取得して、非JSON形式で文字列パラメーターを正しく受信するにはどうすればよいですか?Apr 19, 2025 pm 03:54 PM

スプリングブートアプリケーションの処理では、リクエストパラメーターを正しく受信する方法の問題に遭遇することがよくあります。特にパラメーター形式が一般的なJSONではない場合、もっと...

Javaで同時ハッシュマップを宣言するときに、静的キーワードの追加はどのような影響を与えますか?Javaで同時ハッシュマップを宣言するときに、静的キーワードの追加はどのような影響を与えますか?Apr 19, 2025 pm 03:51 PM

JavaプログラミングのJavaで並行ハッシュマップを宣言するときに静的を追加することの影響、Concurrenthashmap ...

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

SecLists

SecLists

SecLists は、セキュリティ テスターの究極の相棒です。これは、セキュリティ評価中に頻繁に使用されるさまざまな種類のリストを 1 か所にまとめたものです。 SecLists は、セキュリティ テスターが必要とする可能性のあるすべてのリストを便利に提供することで、セキュリティ テストをより効率的かつ生産的にするのに役立ちます。リストの種類には、ユーザー名、パスワード、URL、ファジング ペイロード、機密データ パターン、Web シェルなどが含まれます。テスターはこのリポジトリを新しいテスト マシンにプルするだけで、必要なあらゆる種類のリストにアクセスできるようになります。

EditPlus 中国語クラック版

EditPlus 中国語クラック版

サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

SublimeText3 英語版

SublimeText3 英語版

推奨: Win バージョン、コードプロンプトをサポート!

PhpStorm Mac バージョン

PhpStorm Mac バージョン

最新(2018.2.1)のプロフェッショナル向けPHP統合開発ツール