Java Queueの基本概念と基本操作

王林
リリース: 2024-01-13 13:04:06
オリジナル
713 人が閲覧しました

Java Queue队列的基本概念与操作

Java Queue の基本概念と操作 Queue

Queue (キュー) は、先入れ先出し (FIFO) に従って動作する一般的なデータ構造です。原理 。 Java プログラミングでは、Queue インターフェイスとその実装クラスを使用してキュー関数を実装できます。この記事では、Queue の基本概念と一般的な操作を紹介し、具体的なコード例を示します。

1. キューの基本概念

キューは、エンキューとデキューという 2 つの基本操作を備えた線形データ構造です。エンキューではキューの最後に要素が追加され、デキューではキューの先頭から要素が取得および削除されます。したがって、キューは先入れ先出し、つまり最初にキューに入った要素が最初にキューから出るという特徴があります。

2. キュー インターフェイスと実装クラス

Java では、キューの操作は Collection インターフェイスを継承する Queue インターフェイスによって定義されます。 Queue インターフェイスには、追加 (add)、エンキュー (オファー)、削除 (削除)、デキュー (ポーリング)、キュー ヘッド要素の取得 (ピーク) など、キュー操作に関連する一連のメソッドが含まれています。

Java には、Queue インターフェイスを実装する複数のクラスが用意されています。一般的に使用されるクラスには次のものがあります:

  1. LinkedList: 最下層はリンク リスト構造に基づいており、キューとして使用でき、両端のキュー。
  2. ArrayDeque: 基礎となる実装は配列構造に基づいており、キューおよび両端キューとしても使用できます。
  3. PriorityQueue: 優先度ヒープに基づいて実装されたキュー。要素の優先度に従って配置できます。

3. キューの基本操作の例

次は、LinkedList と ArrayDeque を使用してキューの基本操作を実装するコード例です:

  1. キュー オブジェクトを作成する

    Queue queue = new LinkedList<>();
    ログイン後にコピー
  2. #キューに入る

    queue.add("元素1"); queue.offer("元素2");
    ログイン後にコピー

  3. #キュー ヘッド要素を取得する
  4. String headElement = queue.peek();
    ログイン後にコピー

  5. Dequeue
  6. String removedElement1 = queue.remove(); String removedElement2 = queue.poll();
    ログイン後にコピー

  7. 上記の例では、最初に LinkedList キュー オブジェクトが作成されます。次に、要素は add メソッドと offer メソッドを使用してキューの最後に追加されます。 Peak メソッドを使用すると、キューの先頭にある要素を取得できますが、削除されません。最後に、remove メソッドと poll メソッドを使用して、キューから要素を削除します。この 2 つの違いは、キューが空の場合、remove メソッドは例外をスローし、poll メソッドは null を返すことです。

4. キューのアプリケーション シナリオ

キューには、実際の開発において次のような幅広いアプリケーション シナリオがあります:

メッセージ キュー: 非同期メッセージ送信の実装に使用されます。 , 生産者と消費者を切り離します。
  1. スレッド プール: 同時スレッドの数を制御し、多数のタスクを処理するために使用されます。
  2. 幅優先検索アルゴリズム: グラフ走査などの問題を解決するために使用されます。
  3. 概要:
この記事では、Java におけるキューの基本概念と一般的な操作を紹介し、LinkedList と ArrayDeque のコード例を示します。キューは一般的なデータ構造であるため、実際の開発では幅広い応用シナリオがあります。キューの使用をマスターすると、プログラミングの効率とコードの品質が向上します。

以上がJava Queueの基本概念と基本操作の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
最新の問題
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!