次の方法で共有


Queue.Peek メソッド

Queue の先頭にあるオブジェクトを削除せずに返します。

Public Overridable Function Peek() As Object
[C#]
public virtual object Peek();
[C++]
public: virtual Object* Peek();
[JScript]
public function Peek() : Object;

戻り値

Queue の先頭にあるオブジェクト。

例外

例外の種類 条件
InvalidOperationException Queue が空です。

解説

このメソッドは Dequeue メソッドに類似していますが、 PeekQueue を変更しません。

Queue には、 null 参照 (Visual Basic では Nothing) を値として追加できます。null 値と Queue の末尾を区別するには、 Count プロパティを確認するか、 Queue が空である場合にスローされる InvalidOperationException をキャッチします。

使用例

[Visual Basic, C#, C++] Queue に要素を追加する方法、 Queue から要素を削除する方法、または Queue の先頭にある要素を単純に参照する方法の例を次に示します。

 
Imports System
Imports System.Collections
Imports Microsoft.VisualBasic

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, ControlChars.Tab)
        
        ' Removes an element from the Queue.
        Console.WriteLine("(Dequeue)" + ControlChars.Tab + "{0}", myQ.Dequeue())
        
        ' Displays the Queue.
        Console.Write("Queue values:")
        PrintValues(myQ, ControlChars.Tab)
        
        ' Removes another element from the Queue.
        Console.WriteLine("(Dequeue)" + ControlChars.Tab + "{0}", myQ.Dequeue())
        
        ' Displays the Queue.
        Console.Write("Queue values:")
        PrintValues(myQ, ControlChars.Tab)
        
        ' Views the first element in the Queue but does not remove it.
        Console.WriteLine("(Peek)   " + ControlChars.Tab + "{0}", myQ.Peek())
        
        ' Displays the Queue.
        Console.Write("Queue values:")
        PrintValues(myQ, ControlChars.Tab)
    End Sub
    
    Public Shared Sub PrintValues(myCollection As IEnumerable, _
       mySeparator As Char)
       
        Dim myEnumerator As System.Collections.IEnumerator = _
           myCollection.GetEnumerator()
        While myEnumerator.MoveNext()
            Console.Write("{0}{1}", mySeparator, myEnumerator.Current)
        End While
        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 

[C#] 
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, '\t' );

      // Removes an element from the Queue.
      Console.WriteLine( "(Dequeue)\t{0}", myQ.Dequeue() );

      // Displays the Queue.
      Console.Write( "Queue values:" );
      PrintValues( myQ, '\t' );

      // Removes another element from the Queue.
      Console.WriteLine( "(Dequeue)\t{0}", myQ.Dequeue() );

      // Displays the Queue.
      Console.Write( "Queue values:" );
      PrintValues( myQ, '\t' );

      // 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, '\t' );
   }


   public static void PrintValues( IEnumerable myCollection, char mySeparator )  {
      System.Collections.IEnumerator myEnumerator = myCollection.GetEnumerator();
      while ( myEnumerator.MoveNext() )
         Console.Write( "{0}{1}", mySeparator, myEnumerator.Current );
      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
*/ 

[C++] 
#using <mscorlib.dll>
#using <system.dll>

using namespace System;
using namespace System::Collections;

void PrintValues( IEnumerable* myCollection, Char mySeparator )  {
   System::Collections::IEnumerator* myEnumerator = myCollection->GetEnumerator();
   while ( myEnumerator->MoveNext() )
      Console::Write( "{0}{1}", __box(mySeparator), myEnumerator->Current );
   Console::WriteLine();
}

int main()  {
   // Creates and initializes a new Queue.
   Queue* myQ = new Queue();
   myQ->Enqueue( S"The" );
   myQ->Enqueue( S"quick" );
   myQ->Enqueue( S"brown" );
   myQ->Enqueue( S"fox" );

   // Displays the Queue.
   Console::Write( S"Queue values:" );
   PrintValues( myQ, '\t' );

   // Removes an element from the Queue.
   Console::WriteLine( S"(Dequeue)\t{0}", myQ->Dequeue() );

   // Displays the Queue.
   Console::Write( S"Queue values:" );
   PrintValues( myQ, '\t' );

   // Removes another element from the Queue.
   Console::WriteLine( S"(Dequeue)\t{0}", myQ->Dequeue() );

   // Displays the Queue.
   Console::Write( S"Queue values:" );
   PrintValues( myQ, '\t' );

   // Views the first element in the Queue but does not remove it.
   Console::WriteLine( S"(Peek)   \t{0}", myQ->Peek() );

   // Displays the Queue.
   Console::Write( S"Queue values:" );
   PrintValues( myQ, '\t' );
}

/*
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
*/

[JScript] JScript のサンプルはありません。Visual Basic、C#、および C++ のサンプルを表示するには、このページの左上隅にある言語のフィルタ ボタン 言語のフィルタ をクリックします。

必要条件

プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ, .NET Compact Framework - Windows CE .NET

参照

Queue クラス | Queue メンバ | System.Collections 名前空間 | Enqueue | Dequeue