次の方法で共有


Queue.Clear メソッド

定義

Queue からすべてのオブジェクトを削除します。

public:
 virtual void Clear();
public virtual void Clear ();
abstract member Clear : unit -> unit
override this.Clear : unit -> unit
Public Overridable Sub Clear ()

次の例は、 の値をクリアする方法を Queue示しています。

using namespace System;
using namespace System::Collections;
void PrintValues( Queue^ myQ );
int main()
{
   
   // Creates and initializes a new Queue.
   Queue^ myQ = gcnew Queue;
   myQ->Enqueue( "The" );
   myQ->Enqueue( "quick" );
   myQ->Enqueue( "brown" );
   myQ->Enqueue( "fox" );
   myQ->Enqueue( "jumps" );
   
   // Displays the count and values of the Queue.
   Console::WriteLine( "Initially," );
   Console::WriteLine( "   Count    : {0}", myQ->Count );
   Console::Write( "   Values:" );
   PrintValues( myQ );
   
   // Clears the Queue.
   myQ->Clear();
   
   // Displays the count and values of the Queue.
   Console::WriteLine( "After Clear," );
   Console::WriteLine( "   Count    : {0}", myQ->Count );
   Console::Write( "   Values:" );
   PrintValues( myQ );
}

void PrintValues( Queue^ myQ )
{
   IEnumerator^ myEnum = myQ->GetEnumerator();
   while ( myEnum->MoveNext() )
   {
      Object^ myObj = safe_cast<Object^>(myEnum->Current);
      Console::Write( "    {0}", myObj );
   }

   Console::WriteLine();
}

/* 
 This code produces the following output.
 
 Initially,
    Count    : 5
    Values:    The    quick    brown    fox    jumps
 After Clear,
    Count    : 0
    Values:

 */
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" );
      myQ.Enqueue( "jumps" );

      // Displays the count and values of the Queue.
      Console.WriteLine( "Initially," );
      Console.WriteLine( "   Count    : {0}", myQ.Count );
      Console.Write( "   Values:" );
      PrintValues( myQ );

      // Clears the Queue.
      myQ.Clear();

      // Displays the count and values of the Queue.
      Console.WriteLine( "After Clear," );
      Console.WriteLine( "   Count    : {0}", myQ.Count );
      Console.Write( "   Values:" );
      PrintValues( myQ );
   }

   public static void PrintValues( Queue myQ )  {
      foreach ( Object myObj in myQ )  {
         Console.Write( "    {0}", myObj );
      }
      Console.WriteLine();
   }
}
/*
This code produces the following output.

Initially,
   Count    : 5
   Values:    The    quick    brown    fox    jumps
After Clear,
   Count    : 0
   Values:

*/
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")
        myQ.Enqueue("jumps")
        
        ' Displays the count and values of the Queue.
        Console.WriteLine("Initially,")
        Console.WriteLine("   Count    : {0}", myQ.Count)
        Console.Write("   Values:")
        PrintValues(myQ)
        
        ' Clears the Queue.
        myQ.Clear()
        
        ' Displays the count and values of the Queue.
        Console.WriteLine("After Clear,")
        Console.WriteLine("   Count    : {0}", myQ.Count)
        Console.Write("   Values:")
        PrintValues(myQ)
    End Sub
    
    Public Shared Sub PrintValues(myQ As Queue)
        Dim myObj As [Object]
        For Each myObj In  myQ
            Console.Write("    {0}", myObj)
        Next myObj
        Console.WriteLine()
    End Sub

End Class


' This code produces the following output.
' 
' Initially,
'    Count    : 5
'    Values:    The    quick    brown    fox    jumps
' After Clear,
'    Count    : 0
'    Values:

注釈

Count はゼロに設定され、コレクションの要素から他のオブジェクトへの参照も解放されます。

容量は変更されません。 の容量をリセットするには、 を Queue呼び出します TrimToSize。 空 Queue をトリミングすると、 の容量が Queue 既定の容量に設定されます。

このメソッドは 操作です O(n) 。ここで n 、 は Countです。

適用対象

こちらもご覧ください