Queue.Enqueue(Object) メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
Queueの末尾にオブジェクトを追加します。
public:
virtual void Enqueue(System::Object ^ obj);
public virtual void Enqueue(object obj);
abstract member Enqueue : obj -> unit
override this.Enqueue : obj -> unit
Public Overridable Sub Enqueue (obj As Object)
パラメーター
例
次の例は、 Queueに要素を追加する方法、 Queueから要素を削除する方法、または Queueの先頭にある要素を表示する方法を示しています。
using System;
using System.Collections;
public class SamplesQueue {
public static void Main() {
// Creates and initializes a new Queue.
Queue myQ = new Queue();
myQ.Enqueue( "The" );
myQ.Enqueue( "quick" );
myQ.Enqueue( "brown" );
myQ.Enqueue( "fox" );
// Displays the Queue.
Console.Write( "Queue values:" );
PrintValues( myQ );
// Removes an element from the Queue.
Console.WriteLine( "(Dequeue)\t{0}", myQ.Dequeue() );
// Displays the Queue.
Console.Write( "Queue values:" );
PrintValues( myQ );
// Removes another element from the Queue.
Console.WriteLine( "(Dequeue)\t{0}", myQ.Dequeue() );
// Displays the Queue.
Console.Write( "Queue values:" );
PrintValues( myQ );
// Views the first element in the Queue but does not remove it.
Console.WriteLine( "(Peek) \t{0}", myQ.Peek() );
// Displays the Queue.
Console.Write( "Queue values:" );
PrintValues( myQ );
}
public static void PrintValues( IEnumerable myCollection ) {
foreach ( Object obj in myCollection )
Console.Write( " {0}", obj );
Console.WriteLine();
}
}
/*
This code produces the following output.
Queue values: The quick brown fox
(Dequeue) The
Queue values: quick brown fox
(Dequeue) quick
Queue values: brown fox
(Peek) brown
Queue values: brown fox
*/
Imports System.Collections
Public Class SamplesQueue
Public Shared Sub Main()
' Creates and initializes a new Queue.
Dim myQ As New Queue()
myQ.Enqueue("The")
myQ.Enqueue("quick")
myQ.Enqueue("brown")
myQ.Enqueue("fox")
' Displays the Queue.
Console.Write("Queue values:")
PrintValues(myQ)
' Removes an element from the Queue.
Console.WriteLine("(Dequeue) {0}", myQ.Dequeue())
' Displays the Queue.
Console.Write("Queue values:")
PrintValues(myQ)
' Removes another element from the Queue.
Console.WriteLine("(Dequeue) {0}", myQ.Dequeue())
' Displays the Queue.
Console.Write("Queue values:")
PrintValues(myQ)
' Views the first element in the Queue but does not remove it.
Console.WriteLine("(Peek) {0}", myQ.Peek())
' Displays the Queue.
Console.Write("Queue values:")
PrintValues(myQ)
End Sub
Public Shared Sub PrintValues(myCollection As IEnumerable)
Dim obj As [Object]
For Each obj In myCollection
Console.Write(" {0}", obj)
Next obj
Console.WriteLine()
End Sub
End Class
' This code produces the following output.
'
' Queue values: The quick brown fox
' (Dequeue) The
' Queue values: quick brown fox
' (Dequeue) quick
' Queue values: brown fox
' (Peek) brown
' Queue values: brown fox
注釈
Queueの容量は、Queueが保持できる要素の数です。 要素が Queueに追加されると、再割り当てによって必要に応じて容量が自動的に増加します。 TrimToSizeを呼び出すことで容量を減らすことができます。
増加率は、より大きな容量が必要な場合に現在の容量を乗算する数値です。 成長係数は、 Queue が構築されるときに決定されます。 Queueの容量は、増加率に関係なく、常に最小値によって増加します。増加率が 1.0 の場合、Queueのサイズの増加は妨げません。
Countが内部配列の容量より小さい場合、このメソッドはO(1)操作です。 新しい要素に対応するために内部配列を再割り当てする必要がある場合、このメソッドは O(n) 操作になり、 n が Countされます。