キューは、名前空間 System.Collection に存在する C# キュー コレクション クラスで、最初に追加された要素が最初に出力されるという FIFO (先入れ先出し) の形式で表現されるオブジェクトのコレクションです。 。キューは、要素にアクセスする先入れ先出し方式で取得できる FIFO 順序で要素を格納します。キューはスタック コレクションのちょうど反対側にあり、スタックは LIFO (後入れ先出し) です。 Queue のコレクションでは、多数の null 値と重複値が許可されます。 Queue は、値の追加と取得にそれぞれ使用される Enqueue() と Dequeue() という 2 つのメソッドを使用します。
構文:
キューは Queue というデータ型を使用して作成されます。ここでは、キューのオブジェクトを作成するために「new」キーワードが使用されます。アイテムを追加するキュー コレクションでは Enqueue メソッドを使用し、アイテムを削除する場合は Dequeue メソッドを使用します。
1 | Queue QueueObject = new Queue()
|
ログイン後にコピー
1 | QueueObject.Enqueue(element)
|
ログイン後にコピー
C# でキューはどのように機能しますか?
キューは FIFO (先入れ先出し) の形式で存在し、オブジェクトのコレクションです。このプロセスは、項目の先入れ先出しアクセスが必要な場合に使用されます。キューは非ジェネリックであり、System.Collections 名前空間で定義されたコレクションのタイプを使用します。一般に、キューは、キュー コレクションに保存した方法で情報を使用する場合に便利です。
キューは、IEnumerable、ICloneable、ICollection と呼ばれるインターフェイスを通じて実装されます。参照型の場合は、null の有効な値を受け入れます。アイテムを追加するキュー コレクションでは Enqueue メソッドを使用し、アイテムを削除する場合は Dequeue メソッドを使用します。アイテムをキューに追加すると、必要な内部メモリの合計容量が自動的に増加します。
例:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 | using System;
using System.Collections;
public class QueueProgram {
static public void Main()
{
Queue _objQueue = new Queue();
_objQueue.Enqueue( "DotNet" );
_objQueue.Enqueue( "SQL" );
_objQueue.Enqueue( "Java" );
_objQueue.Enqueue( "PHP" );
_objQueue.Enqueue( "Android" );
Console.WriteLine( "Working Process of Queue\n" );
Console.WriteLine( "Number of Elements Present in Object(_objQueue) : {0}" , _objQueue. Count );
Console.WriteLine( "\nTo Get the topmost element in Queue" + " is : {0}" , _objQueue.Dequeue());
Console.WriteLine( "\nNumber of Elements Present in Object(_objQueue) : {0}" , _objQueue. Count );
Console.WriteLine( "\nTo Get the topmost element in Queue is : {0}" , _objQueue.Peek());
Console.WriteLine( "\nNumber of Elements Present in Object(_objQueue) : {0}" , _objQueue. Count );
if (_objQueue.Contains( "SQL" ) == true)
{
Console.WriteLine( "\nElement is Present !" );
}
else
{
Console.WriteLine( "\nElement is not Present !" );
}
}
}
|
ログイン後にコピー
上記のプログラムでは、Queue の項目を保持するために Queue を _objQueue として宣言しています。新しい要素を追加するには Enqueue() メソッドを使用し、要素を削除するには Dequeue() メソッドを使用します。 Count プロパティは、キュー内の要素の合計数を取得するために使用されます。このプロパティの戻り値は数値です。別のメソッド Contains() は、指定された値/要素が存在するかどうかを確認するために使用され、true または false のブール値を返します。 Peek() は、キュー コレクションの最上位の値を取得するために使用されます。
出力:

上記の出力から、Queue の項目が表示されていることがわかります。まず、Count() メソッドを使用してキュー内に存在する要素の合計数を表示し、次に Peek() メソッドを使用して最上位の要素を表示します。 Contains() メソッドを使用して、要素がキュー コレクションに存在するかどうかを確認します。
コンストラクター
Queue クラスでは、キューの作成に使用されるコンストラクターで構成されます。
-
Queue(): コンストラクター Queue() は、キュー クラスのインスタンスを作成するために使用され、デフォルトの成長係数の使用に役立ちます。
-
Queue(ICollection): このコンストラクターはキューのインスタンスを作成するために使用され、指定されたコレクションからコピーされ、コピーされた項目の数と同じ容量を持つ項目が含まれます。また、デフォルトの初期成長率も使用されます。
-
Queue(Int32): このコンストラクターは、空で初期容量が指定され、デフォルトの成長係数を使用する Queue クラス インスタンスを作成するために使用されます。
-
Queue(Int32, Single): このコンストラクターは、空で初期容量が指定され、デフォルトの成長係数を使用する Queue クラス インスタンスを作成するために使用されます。
C# メソッドのキュー関数
Queue クラスの一般的に使用されるメソッドである次の関数リストを見てみましょう -
-
Enqueue(): Enqueue メソッドは、Queue に要素を追加するときに使用されます。これは非ジェネリック コレクションであるため、このメソッドで任意のデータ型の要素を追加できます。このメソッドに使用されるシグネチャは void Enqueue(object obj)
です。
-
Dequeue(): Dequeue メソッドは、キュー内の最上位の要素を取得するために使用されるアクセス キュー用です。 Dequeue が削除に使用する FIFO アプローチと、キュー コレクションの最初の要素を返すその結果のアプローチでは、キューの合計数が常に 0 より大きい場合にのみ Dequeue() が呼び出され、それ以外の場合は例外がスローされます。このメソッドに使用されるシグネチャは object Dequeue()
です。
-
Peek(): このメソッドは、キューから削除せずに、常にキュー コレクションの最初の要素を返します。空のキュー コレクションが呼び出された場合は例外がスローされます。
- このメソッドに使用されるシグネチャはオブジェクト Peek() です。
-
Clear(): このメソッドは、キュー コレクションからオブジェクトを削除するために使用されます。このメソッドに使用されるシグネチャは void Clear() です。
-
Contains(): このメソッドは、Queue のコレクションに要素が存在するかどうかを確認するために使用されます。このメソッドに使用されるシグネチャは bool Contains(object obj).
です。
-
Clone(): Clone() メソッドは、キュー コレクションの浅いコピーを作成するために使用されます。
-
Equals(Object): このメソッドは、特定のオブジェクトが現在のオブジェクトと等しいかどうかを確認するために使用されます。
-
Synchronized(Queue): このメソッドは、元のキューを囲む新しいキューを返します。
-
TrimToSize(): このメソッドは、キュー コレクション内の実際のアイテム数の容量を設定するために使用されます。
結論
この記事では、C# での Queue() の使用法について説明しました。これは FIFO の概念に基づいており、キューの追加と削除にはそれぞれ Enqueue() メソッドと Dequeue() メソッドを使用します。
以上がC# のキューの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。